美文网首页
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