【Flutter學習】之DateTime日期轉換


  概述:

  • 表示一個時間點
  • 通過構造函數或解析格式化的字符串創建DateTime對象,並且符合ISO 8601標准的子集,小時是24小時制,范圍在0-23之間
  • DateTime對象創建之后,將是固定不變的, 不可被修改
  • DateTime對象默認使用的是本地時區,除非顯示地指定UTC時區

一,方法詳解 

  • 命名構造,獲取當前時間
    now()
  • 指定時間

    //創建時間對象,並指定時間
    DateTime victoryDay = new DateTime(1945,9,9);//
  • 時間跨度

    //計算時間跨度,例如計算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}');// 返回星期幾

四,示例結果  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM