概述:
- 表示一個時間點
- 經過構造函數或解析格式化的字符串建立
DateTime
對象,而且符合ISO 8601
標準的子集,小時是24小時制,範圍在0-23之間 DateTime
對象建立以後,將是固定不變的, 不可被修改DateTime
對象默認使用的是本地時區,除非顯示地指定UTC
時區
一,方法詳解
- 命名構造,獲取當前時間
now()
-
指定時間函數
//建立時間對象,並指定時間 DateTime victoryDay = new DateTime(1945,9,9);//
-
時間跨度spa
//計算時間跨度,例如計算2天56時14分的跨度 Duration timeRemaining = new Duration(days:2, hours:56, minutes:14); print(timeRemaining);//104:14:00.000000 }
- DateTime轉時間戳
millisecondsSinceEpoch
- 時間戳轉DateTime
fromMillisecondsSinceEpoch
- 字符串轉DateTime
parse(string)
- 時間比較---在以前
isBefore(date)
- 時間比較---在以後
isAfter(date)
- 時間比較---相等
isAtSameMomentAs(date)
- 大於返回1;等於返回0;小於返回-1
compareTo(date)
- 時間增長
add(Duration)
- 時間減小
subtract(Duration)
- 時間差 兩個時間相差 小時數
difference(date)
- 本地時區簡碼
timeZoneName
- 返回UTC與本地時差 小時數
timeZoneOffset
- 返回 年、月、日、時、分、秒、毫秒、微妙
year、month、day、hour、minute、second、millisecond、microsecond
- 返回星期幾
weekday
二,字符串與日期相互轉換
- String-->DateTime:
DateTime.parse(String);
- DateTime -->formatString:
formatDate(DateTime ,[yyyy,'-',mm,'-',dd]);
三,代碼示例
var today = DateTime.now(); print('當前時間是:$today');
var date1 = today.millisecondsSinceEpoch; print('當前時間戳:$date1');
var date2 = DateTime.fromMillisecondsSinceEpoch(date1); print('時間戳轉日期:$date2');
//拼接成date var dentistAppointment = new DateTime(2019, 6, 20, 17, 30,20); print(dentistAppointment);
// 字符串轉date DateTime date3 = DateTime.parse("2019-06-20 15:32:41"); print(date3);
// 時間比較 print(today.isBefore(date3));// 在以前 print(today.isAfter(date3)); // 在以後 print(date3.isAtSameMomentAs(date3));// 相同 print(date3.compareTo(today));// 大於返回1;等於返回0;小於返回-1。 // print(DateTime.now().toString()); // print(DateTime.now().toIso8601String()); //時間增長 var fiftyDaysFromNow = today.add(new Duration(days: 5)); print('today加5天:$fiftyDaysFromNow');
//時間減小 DateTime fiftyDaysAgo = today.subtract(new Duration(days: 5)); print('today減5天:$fiftyDaysAgo');
//時間差 兩個時間相差 小時數 print('比較兩個時間 差 小時數:${fiftyDaysFromNow.difference(fiftyDaysAgo)}'); print('本地時區簡碼:${today.timeZoneName}'); print('返回UTC與本地時差 小時數:${today.timeZoneOffset}'); print('獲取年月日:${today.year}');//month、day、hour、minute、second、millisecond、microsecond print('星期:${today.weekday}');// 返回星期幾