添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 表示一个时间点
  • 通过构造函数或解析格式化的字符串创建 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}');// 返回星期几

    四,示例结果  

  •