[藍橋杯2021初賽] 時間顯示
阿新 • • 發佈:2022-03-24
題目描述
小藍要和朋友合作開發一個時間顯示的網站。在伺服器上,朋友已經獲取了當前的時間,用一個整數表示。
值為從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 }