题目详情:
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970年 1 月 1 日 00:00:00到当前时刻经过的毫秒数。
现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。
输入描述
输入一行包含一个整数,表示时间。
输出描述
输出时分秒表示的当前时间,格式形如
HH:MM:SS
,其中HH
表示时,值为 0 到 23,MM
表示分,值为 0到 59,SS
表示秒,值为 0 到 59。时、分、秒 不足两位时补前导 00。输入输出样例
示例 1
输入
46800999
输出
13:00:00
示例 2
输入
1618708103123
输出
01:08:23
评测用例规模与约定
对于所有评测用例,给定的时间为不超过 10^{18}1018 的正整数。
解题思路:
本题是简单题,首先这个数字给的是毫秒,我们要先把它变成秒再进行后面的运算。
代码实现:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long sum = scan.nextLong();
sum = sum /1000;
sum = sum %86400;
int hour = (int)(sum/3600);
sum = sum %3600;
int minute = (int)(sum/60);
sum = sum %60;
int second = (int)(sum);
String hh,mm,ss;
if(hour<10){
hh = "0"+hour;
}else{
hh =hour+"";
}
if(minute<10){
mm = "0"+minute;
}else{
mm =minute+"";
}
if(second<10){
ss = "0"+second;
}else{
ss =second+"";
}
System.out.printf("%s:%s:%s",hh,mm,ss);
}
答案:
如上