第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);
	}
}
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大果壳Clap

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值