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风格时间选择器
网友评论