我遇到日历getTimeInMillis()函数的问题,该函数返回无效日期 首先,我使用简单的日期格式化程序格式化我的字符串日期" 05/05 / 2016"
SimpleDateFormat mDateFormatter = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
然后我将结果解析日期放入日历对象
Calendar mCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
mCalendar.setTime(mDateFormatter.parse("05/05/2016"));
并且函数getTime()将于5月05日00:00:00 GMT + 03:00返回 并且函数getTimeInMillis()返回1462395600000等于 2016年5月4日星期三,两个函数的输出之间有一天的差异,那么问题是什么?
答案 0 :(得分:0)
我运行了这段代码:
SimpleDateFormat mDateFormatter = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
Calendar mCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
mCalendar.setTime(mDateFormatter.parse("05/05/2016"));
System.out.println("getTime: " + mCalendar.getTime());
System.out.println("millis : " + mCalendar.getTimeInMillis());
Date date = new Date(mCalendar.getTimeInMillis());
System.out.println("Date from millis: " + date);
得到了这个输出:
getTime: Thu May 05 00:00:00 GMT 2016
millis : 1462406400000
Date from millis: Thu May 05 00:00:00 GMT 2016
所以我没有看到你描述的问题。我用http://ideone.com/我错过了什么?您是否对Calendar
和getTime()
之间的getTimeInMillis()
做了什么?