美文网首页
flutter笔记之Time相关

flutter笔记之Time相关

作者: 老P打码 | 来源:发表于2019-01-26 19:23 被阅读0次

    DateTime相关操作计算

    • 获取当前date
    DateTime.now();
    
    • 获取指定日期/时间date
    DateTime(2019, 1, 1);   // (year, month, day, hour, minute, second, millisecond, microsecond, false)
    
    
    • Date to String
    DateTime date = DateTime.now();
    // padLeft(2,'0')},保证为占2位数,多出来的每一位都用'0'补齐
    String dateStr = "${date.year.toString()}-${date.month.toString().padLeft(2,'0')}-${date.day.toString().padLeft(2,'0')}";       
    
    
    • String to Date
    DateTime.parse("2019-01-01 01:01:00");
    

    以下是parse中string的格式

    • 2012-02-27 13:27:00
    • 2012-02-27 13:27:00.123456z
    • 20120227 13:27:00
    • 20120227T132700
    • 20120227
    • +20120227
    • 2012-02-27T14Z
    • 2012-02-27T14+00:00
    • -123450101 00:00:00 Z": in the year -12345.
    • 2002-02-27T14:00:00-0500
    • 计算date之差
    DateTime time01 = DateTime.parse("2019-01-01 00:00:00");
    DateTime time02 = DateTime.parse("2019-08-08 00:00:00");
    Duration duration = time02.difference(time01);   // time02的时间戳减去time01时间戳
    print(duration.inDays.toString()); // 最大只能转换到日,若要转换成星期,月,年需另行计算
    

    MaterialDesign的日期选择器

    • 调用方式
    DateTime initDate = DateTime(2018, 3, 5);
    DateTime firstDate = DateTime(2010, 3, 5);
    DateTime lastDate = DateTime(2020, 3, 5);
    showDatePicker(context: context, initialDate: initDate, firstDate: firstDate, lastDate: lastDate).then((DateTime dateTime){
      print("选择的日期--是:${dateTime.year}年${dateTime.month}月${dateTime.day}日");
    }).catchError((error){
      print("error:${error}");
    });
    
    • 参数说明

    context(上下文),

    initialDate(初始日期)--- 定义控件打开时默认选择日期

    firstDate(最初日期) --- 定义控件最早可以选择的日期

    lastDate(最晚日期)--- 定义控件最晚可以选择的日期

    • 实际效果如下:


      MaterialDesign风格日期选择器

    Time操作

    • 创建当前时间的time
    TimeOfDay.now();
    
    • 创建一个自定义的time
    TimeOfDay timeof01 = TimeOfDay(hour: 1, minute: 55); // hour必须为0~23,minute必须为0~55
    
    • Time to String
    TimeOfDay time = TimeOfDay(hour: 1, minute: 55);
    print("${time.hour}时${time.minute}分");
    

    MaterialDesign的时间选择器

    • 调用方式
    showTimePicker(context: context, initialTime: TimeOfDay.now()).then((TimeOfDay val) {
       print("选择的时间是:${val.hour}时${val.minute}分");
    }).catchError((error){
      print("error:${error}");
    });   // initialTime:默认的时间
    
    • 实际效果如下


      MaterialDesign风格时间选择器

    相关文章

      网友评论

          本文标题:flutter笔记之Time相关

          本文链接:https://www.haomeiwen.com/subject/qxiijqtx.html