日期和时间

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);

有关 DateTimeDuration 的完整方法列表,请参阅API文档。


公众号“编程之路从0到1”

20190301102949549

Copyright © Arcticfox 2020 all right reserved,powered by Gitbook文档修订于: 2024-06-09 20:22:55

results matching ""

    No results matching ""