题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 19701970 年 11 月 11 日 00:00:0000:00:00 到当前时刻经过的毫秒数。
现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。
输入描述
输入一行包含一个整数,表示时间。
输出描述
输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 00 到 2323,MM 表示分,值为 00 到 5959,SS 表示秒,值为 00 到 5959。时、分、秒 不足两位时补前导 00。
输入输出样例
输入46800999
输出13:00:00
思路描述: 分别计算输入的数字换算成时分秒后得到的值,判断结果是否小于10,如果小于10,给结果拼接一个“0”在前面,如果大于10,则则直接拼接结果,最终输出拼接结果。
代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
long mes=input.nextLong();
long hours=(mes%(1000*60*60*24))/(1000*60*60);
long minutes=(mes%(1000*60*60))/(1000*60);
long seconds=(mes%(1000*60))/(1000);
String s1="0";
String s2="0";
String s3="0";
if(minutes<10) {
s1+=minutes+"";
}else {
s1=minutes+"";
}
if(hours<10) {
s2+=hours+"";
}else {
s2=hours+"";
}
if(seconds<10) {
s3+=seconds+"";
System.out.println(s2+":"+s1+":"+s3);
}else {
System.out.println(s2+":"+s1+":"+seconds);
}
}
}
注意:要用long类型去接收输入的值,避免输入数据过大超出内存空间。