zoukankan      html  css  js  c++  java
  • 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}');// 返回星期几
    复制代码

    四,示例结果  

    轉發:https://www.cnblogs.com/lxlx1798/p/11267411.html

  • 相关阅读:
    104.Maximum Depth of Binary Tree
    103.Binary Tree Zigzag Level Order Traversal
    102.Binary Tree Level Order Traversal
    101.Symmetric Tree
    100.Same Tree
    99.Recover Binary Search Tree
    98.Validate Binary Search Tree
    97.Interleaving String
    static静态初始化块
    serialVersionUID作用
  • 原文地址:https://www.cnblogs.com/ssjf/p/11759441.html
Copyright © 2011-2022 走看看