栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第12届蓝桥杯 第六题:《显示时间》

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第12届蓝桥杯 第六题:《显示时间》

第五题:《时间显示》 题目大意

解题思路

方法1:

我们可以利用Java自带 date 类,实现秒自动转换为时间,然后通过 SimpleDateFormat 类,改变时间的格式。

但是要注意咱们是东八区,时间要减去8个小时。

方法2:

先把单位毫秒化成秒:

d = d / 1000;

再把日期化成最后一天:

d = d % (24*60*60);

然后分别求,小时,分钟,和秒

int h = (int) (d / 3600);
int m = (int) ((d % 3600)/60);
int s = (int) ((d % 3600)%60);

输入:46800999
输出:13:00:00
输入:1618708103123
输出:01:08:23

完整代码

方法1:

import java.text.SimpleDateFormat;
import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long d = scanner.nextLong();
		//注意咱们是东八区,要减去8个小时
		d = d - 8*60*60*1000;
		Date date = new Date(d);
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
		System.out.println(sdf.format(date));
	}
}

方法2:

import java.util.*;
public class 草稿纸 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long d = scanner.nextLong();
		d = d / 1000;
		d = d % (24*60*60);
		int h = (int) (d / 3600);
		int m = (int) ((d % 3600)/60);
		int s = (int) ((d % 3600)%60);
		String H,M,S;
		if (h<10) {
			H="0"+h;
		}else {
			H=h+"";
		}
		if (m<10) {
			M="0"+m;
		}else {
			M=m+"";
		}
		if (s<10) {
			S="0"+s;
		}else {
			S=s+"";
		}
		System.out.println(H+":"+M+":"+S);
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号