概述:
- 表示一个时间点
- 通过构造函数或解析格式化的字符串创建
DateTime对象,并且符合ISO 8601标准的子集,小时是24小时制,范围在0-23之间 DateTime对象创建之后,将是固定不变的, 不可被修改DateTime对象默认使用的是本地时区,除非显示地指定UTC时区
一,方法详解
- 命名构造,获取当前时间
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}');// 返回星期几


浙公网安备 33010602011771号