1. 程式人生 > 其它 >[藍橋杯2021初賽] 時間顯示

[藍橋杯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 }