传统写法:
/*
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示。
值为从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
*/
//不使用api
package cn.meowrain;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for(int i = 0;i<num;i++){
long time = scanner.nextLong();
long hours = time/1000/60/60%24;
long minutes = time/1000/60%60;
long seconds = time/1000%60;
if(hours < 10) {
System.out.print("0" + hours + ":");
}else {
System.out.print(hours + ":");
}
if(minutes < 10) {
System.out.print("0" + minutes + ":");
}else {
System.out.print(minutes + ":");
}
if(seconds < 10) {
System.out.println("0" + seconds);
}else {
System.out.println(seconds);
}
}
}
}
使用java api
//使用api
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;
/public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for(int i = 1;i<=num;i++){
long time = scanner.nextLong();
time -= 8 * 60 * 60 * 1000;
//格式化输出
System.out.println(new SimpleDateFormat("HH:mm:ss").format(new Date(time)));
}
}
}