[蓝桥杯2021初赛] 时间显示

题目描述

小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示。
值为从1970 年1 月1 日00:00:00 到当前时刻经过的毫秒数。
现在,小蓝要在客户端显示出这个时间。
小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入格式

输入第一行包含正整数T,表示存在T组测试数据,T不超过1000。
接下来T行,每行一个正整数表示时间。时间不超过10^18。

输出格式

输出T行,每行按照如下格式:
输出时分秒表示的当前时间,格式形如HH:MM:SS
其中HH 表示时,值为0 到23,MM 表示分,值为0 到59,SS 表示秒,值为0 到59。
时、分、秒不足两位时补前导0。

输入样例 复制

2
46800999
1618708103123

输出样例 复制

13:00:00
01:08:23



 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner s = new Scanner(System.in);
 6         int T = s.nextInt();
 7         long H = 0;
 8         long M = 0;
 9         long S = 0;
10         long []time = new long[1000];
11         for(int i =0;i<T;i++) {
12             time[i] = s.nextLong();
13             long sj = time[i];
14         }
15         
16         for(int i =0;i<T;i++) {
17             long sj = time[i];
18             sj = sj%(1000*60*60*24);//不足一天的时间
19             H = sj/(1000*60*60);
20             sj = sj%(1000*60*60);
21             M = sj/(1000*60);
22             sj = sj%(1000*60);
23             S = sj/1000;
24             System.out.printf("%02d",H);
25             System.out.print(":");
26             System.out.printf("%02d",M);
27             System.out.print(":");
28             System.out.printf("%02d",S);
29             System.out.println();
30         }
31         
32     }
33 }

 

posted @ 2022-03-24 14:56  墨染流云  阅读(185)  评论(0)    收藏  举报