2014-03-27 45 views

回答

55

BaseDateTime(包括DateTime)繼承的任何對象具有方法

public long getMillis() 

按照API它:

獲取日期時間瞬間的毫秒從1970-在Java劃時代01-01T00:00:00Z。

所以工作的例子來獲得,簡直是:

new DateTime().getMillis()/1000 

爲了完整起見,Unix Timestamp according to Wikipedia的定義:

Unix時間或POSIX時間,是用於描述時間瞬間的系統,定義爲從00:00:00協調世界時(UTC),1970年1月1日星期四開始經過的秒數,不包括閏秒

+3

我認爲這有點不對。 UNIX時間以秒爲單位,但'getMillis'則以毫秒爲單位。它應該是'getMillis/1000' – serejja

+1

正確,謝謝你的提示。據此編輯答案。 – reto

7

Java 8添加了一個用於處理日期和時間的新API。使用Java 8,您可以使用

long unixTimestamp = Instant.now()。getEpochSecond();

+7

這是關於Joda DateTime的問題,這與此有何關係? –

+0

@伊萬,但如果你檢查由reto給出的接受答案也與喬達日期時間無關 – navy

+4

是的,他使用並鏈接到joda的答案中的DateTime。 –