命名构造,获取当前时间
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}');// 返回星期几
四,示例结果 