日期和时间
DateTime对象是一个时间点。
可以使用以下构造函数来创建DateTime对象
// 获取当前日期和时间。
var now = DateTime.now();
// 用本地时区创建一个新的 DateTime对象
var y2k = DateTime(2000); // January 1, 2000
//指定月份和日期。
y2k = DateTime(2000, 1, 2); // January 2, 2000
// 将日期指定为UTC时间。
y2k = DateTime.utc(2000); // 1/1/2000, UTC
// 通过Unix 纪元,以毫秒为单位指定日期和时间(即以毫秒时间戳创建DateTime)
y2k = DateTime.fromMillisecondsSinceEpoch(946684800000,isUtc: true);
// 解析ISO 8601格式日期
y2k = DateTime.parse('2000-01-01T00:00:00Z');
日期的millisecondsSinceEpoch属性返回自“Unix epoch”(1970年1月1日,UTC) 以来的毫秒数
// 1/1/2000, UTC
var y2k = DateTime.utc(2000);
assert(y2k.millisecondsSinceEpoch == 946684800000);
// 1/1/1970, UTC
var unixEpoch = DateTime.utc(1970);
assert(unixEpoch.millisecondsSinceEpoch == 0);
使用Duration类来计算两个日期之间的差值,并将一个日期向前或向后移动
var y2k = DateTime.utc(2000);
// 加一年
var y2001 = y2k.add(Duration(days: 366));
assert(y2001.year == 2001);
// 减去30天
var december2000 = y2001.subtract(Duration(days: 30));
assert(december2000.year == 2000);
assert(december2000.month == 12);
// 计算两个日期之间的差,返回Duration对象
var duration = y2001.difference(y2k);
assert(duration.inDays == 366);
有关 DateTime 和 Duration 的完整方法列表,请参阅API文档。
公众号“编程之路从0到1”