【蓝桥杯Java】时间显示
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 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