Flutter DateTime的部分用法

? ? ? ? 在客戶端開發(fā)中,時間(包含日期和時間)是一個很常用的功能,比如顯示時間、時間和時間戳轉(zhuǎn)換、時間之間的比較等,我使用的是date_format: ^1.0.8插件。在這里記錄一下使用方法。

? ? ? ? 1、時間戳轉(zhuǎn)換為String類型的字段

static StringreadTimestamp(int timestamp) {

????if (timestamp ==null) {

????????return "";

????? }

????var date =new DateTime.fromMillisecondsSinceEpoch(

????????timestamp.toString().length ==10 ? timestamp *1000 : timestamp);

? ? var time = formatDate(date, [mm, '-', dd, ' ', " ", HH, ':', nn]);

? ? return time;

}

首先是把13位的時間戳轉(zhuǎn)換成DateTime,然后根據(jù)formatDate方法根據(jù)需要的格式來進行拼接。

點進這個formatDate方法看一下,就能完全明白這個String類型的時間是怎么拼接出來的

在傳入的formats集合來區(qū)分是獲取年、月、日、時、分、秒、周幾等什么樣的內(nèi)容,對DateTime來做不同的處理,再通過StringBuffer來把這些字段拼接起來,就得到了我們需要的字段類型。

????????2、獲取各個時間層次的值

? 可以分別通過DateTime.now().year,DateTime.now().month,DateTime.now().day來分別獲取現(xiàn)在的年份,月份和日期,同樣也可以獲取到時(hour)、分(minute)、秒(second)、毫秒(millisecond)、周幾(weekday),這個使用比較簡單。

? ? 3、兩個時間之間的判斷或者加減

一:計算兩個日期之間的間隔天數(shù),很簡單,就一句話

time2.difference(time1).inDays

同樣可以得到,以小時計算的間隔,以分鐘計算的間隔等等

二:獲取時間加、減之后的日期:

time.add(new Duration(days: -1));(減一天)或者time.subtract(Duration(days:1));

time.add(new Duration(days: 1));(加一天)

可以看出add的時候參數(shù)是一個Duration,看一下代碼

也就是對于一個日期來說,對Duration的這些入?yún)⒒蛘哒f成是構(gòu)造參數(shù)都可以執(zhí)行加減的操作。

對于flutter中的時間使用就到這里了,后續(xù)如果有更多的關(guān)于時間上的操作,再來更新文章。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容