使用DateFormat把时间长度格式化为"时:分:秒"格式

您所在的位置:网站首页 sas时分秒格式 使用DateFormat把时间长度格式化为"时:分:秒"格式

使用DateFormat把时间长度格式化为"时:分:秒"格式

2024-03-11 05:23| 来源: 网络整理| 查看: 265

经常在系统中显示时间长度,基本上每次都是显示秒数,客户觉得按时分秒("HH:mm:ss")的格式显示比较明了,一般开发人员都是自己去计算小时是多少?分钟是多少...,其实可以用DateFormat来格式这个显示方式。示例代码如下:示例:

计算某人总的登陆时间登陆时间是10:12:14结束时间是15:20:35示例代码: Calendar c1 = new GregorianCalendar(2007, 1, 16, 10, 12, 14); Calendar c2 = new GregorianCalendar(2007, 1, 16, 15, 20, 35);

SimpleDateFormat formatter= new SimpleDateFormat("HH:mm:ss");

// 设置格式化器的时区为格林威治时区,否则格式化的结果不对,中国的时间比格林威治时间早8小时,比如0点会被格式化为8:00 formatter.setTimeZone(TimeZone.getTimeZone("GMT+0:00"));

long l = c2.getTimeInMillis() - c1.getTimeInMillis(); System.out.println("秒数:" + l); System.out.println("时分秒:" + formatter.format(l));

输出结果:毫秒数:18501000时分秒:05:08:21

注销设置TimeZone,输出结果:毫秒数:18501000时分秒:13:08:21

上面的代码不能格式化年、月、日的长度,只能是时间,因为java的时间是从1970年1月1日开始的。

若需要年月日,则只能自己去年月日字段拼装,如: StringBuffer result = new StringBuffer(); // 添加年-月-日,可以自己判断补0,比如年份为4位获两位,月份是两位,天数是两位 result.append(calendar.get(Calendar.YEAR) - 1970).append("-"); result.append(calendar.get(Calendar.MONTH)).append("-"); result.append(calendar.get(Calendar.DAY_OF_MONTH) - 1).append(" ");



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3