java date 转换我将两个long(time得到)相减,得到10172用simpledateformat.format(10172)得到08:00:10为什么是08呢?————————————————————————————SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss");//tieml,timef是long,前面转化过来的Date date = new Date(timel - timef);System.out.println("用时:" + (timel - timef));System.out.println("用时:" + sf.format(date));理论上应该是00:00:10怎么做可以正常显示00:00:10 re:不对吧,我的日期格式是HH:08的位置应该是小时的表示吧 ,难道说是因为默认时区,默认是本地时间+8h?

问题描述:

java date 转换
我将两个long(time得到)相减,得到10172
用simpledateformat.format(10172)
得到08:00:10
为什么是08呢?
————————————————————————————
SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss");
//tieml,timef是long,前面转化过来的
Date date = new Date(timel - timef);
System.out.println("用时:" + (timel - timef));
System.out.println("用时:" + sf.format(date));
理论上应该是00:00:10
怎么做可以正常显示00:00:10
re:不对吧,我的日期格式是HH:
08的位置应该是小时的表示吧 ,难道说是因为默认时区,默认是本地时间+8h?

直接打出date的值为
Thu Jan 01 08:00:10 CST 1970
API
Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数.
8表示的应该是默认时区 应该是这样 默认时区 加八喽