System.currentTimeMillis()與日期 之間是可以相互轉(zhuǎn)換的,大多數(shù)Android開發(fā)者都知道 通過
日期對應毫秒值轉(zhuǎn)換日期
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = dateformat.format(System.currentTimeMillis());
可以獲取如“ 2016-09-02 23:02:17 ”這樣的一個字符串,但是反過來呢?如果給我們一個“ 2016-09-02 23:02:17 ”字符串,我們能否得到當前日期對應的毫秒值呢? 答案是肯定的。
日期轉(zhuǎn)換毫秒值
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
long time = dateformat.parse("2016-09-02 23:02:17").getTime();
System.out.println(time);
} catch (ParseException e) {
e.printStackTrace();
}
輸出:1472828537000;
由此可見,毫秒值與日期之間是可以互轉(zhuǎn)的。
總結(jié):測試時候可能會出現(xiàn)當前獲取的毫秒值轉(zhuǎn)換為日期后,再轉(zhuǎn)為毫秒值時候 與前者不一致,這個是因為獲取的是毫秒值,而轉(zhuǎn)換為日期后是以秒為單位了,所以轉(zhuǎn)換后才會出現(xiàn)這種情況。 如果想要解決那么就得在時間格式化的時候?qū)懗?SimpleDateFormat dateformat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”);