天天看點

dart系列之:時間你慢點走,我要在dart中抓住你

目錄

簡介

DateTime

Duration

總結

時間和日期是我們經常會在程式中使用到的對象。但是對時間和日期的處理因為有不同時區的原因,是以一直以來都不是很好用。就像在java中,為時間和日期修改和新增了多次API,那麼作為新生的語言dart而言,會有什麼不一樣的地方嗎?

dart中關于日期和時間的兩個非常重要的類是DateTime和Duration.

其中DateTime表示的是時間,而Duration表示的是時間差。

先看一下DateTime的使用。

DateTime表示的是一個時間點。因為世界時鐘有UTC和本地時間兩種。是以,在使用DataTime的時候,也可以使用這兩種時鐘。

最簡單的就是擷取目前的時間:

如果要建立指定日期的時間,則可以将年月日傳入DateTime的構造函數:

注意,上面建立的日期是本地日期。

如果要建立UTC time,則可以使用DateTime.utc方法:

還有一種表示時間的方法是unix time, Unix time指的是從1970年1月1日開始所經過的秒數.

DateTime有兩種表示Unix time時間的方法,分别是:

他們的差別在于,一個表示的是微秒,一個表示的是毫秒。

DateTime還可以将字元串轉換成為DateTime對象:

事實上,DateTime.parse可以接受多種字元類型,如下所示:

Duration表示的是兩個時間之間的內插補點。

來看下Duration的構造函數:

可以看到Duration可以表示從天到microseconds的間隔,已經足夠用了. 應該怎麼使用呢?

同樣的,我們可以對還可以減去Duration:

當然還可以計算兩個日期的內插補點:

以上就是dart中對時間和日期的支援。

本文已收錄于 http://www.flydean.com/17-dart-date-time/ 最通俗的解讀,最深刻的幹貨,最簡潔的教程,衆多你不知道的小技巧等你來發現! 歡迎關注我的公衆号:「程式那些事」,懂技術,更懂你!