【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}');// 返回星期几

四,示例结果  

相关文章
相关标签/搜索