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

  • 相关阅读:
    RabbitMQ教程
    设置文件夹共享及所有访问权限
    一键操作IIS
    C#操作IIS服务
    【01】浅谈HTTP在WebApi开发中的运用
    Socket通信原理
    C# 通过JObject解析json对象
    MVC小知识整理
    Global.asax文件的作用
    iOS开发日记9-终端命令
  • 原文地址:https://www.cnblogs.com/ssjf/p/11759441.html
Copyright © 2011-2022 走看看