如何在 Dart 中获得时间戳?

我一直在学习 Dart,但我不知道如何生成一个时间戳:

void main() {
print((new Date()).millisecondsSinceEpoch);
}

多亏了 IDE 我才能走到这一步,但是 我得到了一个令人困惑的错误:

Exception: No such method: 'Date'

帮忙?

138022 次浏览

你差点就猜对了,只是没用 命名的构造函数:

void main() {
print(DateTime.now().millisecondsSinceEpoch);
}

给予:

1351441456747

有关更多信息,请参见 API 文档: https://api.dart.dev/stable/2.10.1/dart-core/DateTime-class.html

微秒 也可以从 Dart: (不需要导入包)获得 天生的

void main() {
print(new DateTime.now().microsecondsSinceEpoch);
}

产出:

1591457696860000

void main() { print(DateTime.now().millisecondsSinceEpoch); }

这就是我的解决办法

DateTime _now = DateTime.now();
print('timestamp: ${_now.hour}:${_now.minute}:${_now.second}.${_now.millisecond}');

您可以简单地将当前时区中的时间戳打印为字符串,如下所示:

Print (DateTime.now () . toString ()) ;

Now ()还有其他方法,如. day、 . hour、 . minutes 等。 .毫秒 SinceEpoch 是一种独立于时区的方法——这是自“ Unix 时代”1970-01-01 T00:00:00Z (UTC)以来已经过去了多少毫秒。

以从 DateTime获取以毫秒为单位的时间戳。只需使用 millisecondsSinceEpoch属性。请记住,这不是一个可调用的函数,而是一个属性。

DateTime time = DateTime.now();
time.millisecondsSinceEpoch;

1970年1月1日00:00:00 UTC 被称为 Unix 时代。所以,你会得到一个数字,它对应于自纪元以来经过的毫秒。还有一个 microsecondsSinceEpoch属性。

飞镖文件 -https://api.dart.dev/stable/2.17.0/dart-core/DateTime/millisecondsSinceEpoch.html