【Flutter學習】之DateTime日期轉換

  概述:

  • 表示一個時間點
  • 經過構造函數或解析格式化的字符串建立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}');// 返回星期幾

四,示例結果  

相關文章
相關標籤/搜索