蓝桥杯—时间显示—Java

举报
@小红花 发表于 2022/02/20 14:08:55 2022/02/20
3.8k+ 0 0
【摘要】 1、问题描述2、输入输出格式3、使用Java中的API完成import java.sql.Date;import java.text.SimpleDateFormat;import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Sc...

1、问题描述

1951995dee444aec9adf1cc9275eec15.png

2、输入输出格式

e4df4531822b40df9419842fed0cd90f.png

3、使用Java中的API完成

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long time = scanner.nextLong();
		//这里剪去8个小时的时间是因为这里的Date是以1970-01-01 08:00:00开始的
		//比题目中要求的时间早8个小时,所以要剪去。下面这行代码可以验证
		//System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(0)));
		time -= 8 * 60 * 60 * 1000;
		//格式化输出
		System.out.println(new SimpleDateFormat("HH:mm:ss").format(new Date(time)));
	}
}

4、不使用Java中的API完成

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long time = scanner.nextLong();
		//获取时分秒
		long hours = time / 1000 / 60 / 60 % 24;
		long minutes = time / 1000 / 60 % 60;
		long seconds = time / 1000 % 60;
		//按照输出格式完成输出
		if(hours < 10) {
			System.out.print("0" + hours + ":");
		}else {
			System.out.print(hours + ":");
		}
		if(minutes < 10) {
			System.out.print("0" + minutes + ":");
		}else {
			System.out.print(minutes + ":");
		}
		if(seconds < 10) {
			System.out.print("0" + seconds);
		}else {
			System.out.print(seconds);
		}
	}
}
 
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。