目录
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 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
思路分析
此题中,我们可以使用 SimpleDateFormat 类来帮助我们实现
其中的一些参数如下:
yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。
z:表示时区
代码实现
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
long mills = scan.nextLong();
Date date = new Date(mills);
SimpleDateFormat ft = new SimpleDateFormat ("HH:mm:ss");
System.out.println(ft.format(date));
scan.close();
}
}
其中输出格式可以任意选定,比如此题输出格式为 xx:xx:xx,我们就要指定为 HH:mm:ss,
如果想输出其他格式,我们可以任意转换,比如:
SimpleDateFormat ft = new SimpleDateFormat ("HH-mm-ss");
其输出格式就为:xx-xx-xx