flutter笔记之Time相关

2019-01-26  本文已影响0人  老P打码

DateTime相关操作计算

DateTime.now();
DateTime(2019, 1, 1);   // (year, month, day, hour, minute, second, millisecond, microsecond, false)

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')}";       

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
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(最晚日期)--- 定义控件最晚可以选择的日期


Time操作

TimeOfDay.now();
TimeOfDay timeof01 = TimeOfDay(hour: 1, minute: 55); // hour必须为0~23,minute必须为0~55
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:默认的时间
上一篇 下一篇

猜你喜欢

热点阅读