从dart中的Epo纪元开始,我如何获得刻度?
我在dart lang的从dart中的Epo纪元开始,我如何获得刻度?,dart,Dart,我在dart lang的Datetime中找到了millissecondssinceepoch,但我的请求需要自Epoch以来的刻度。那么,如何将DateTime.now()转换为纪元以来的刻度呢?因此刻度在.NET中显然定义为: 一个滴答声代表一百纳秒或一千万分之一秒。一毫秒内有10000个滴答声(参见滴答声毫秒),一秒钟内有1000万个滴答声 此属性的值表示自公历0001年1月1日午夜12:00:00以来经过的100纳秒间隔数,表示最小值。它不包括可归因于闰秒的滴答数 在这个问题()中作为
Datetime
中找到了millissecondssinceepoch
,但我的请求需要自Epoch以来的刻度。那么,如何将DateTime.now()
转换为纪元以来的刻度呢?因此刻度在.NET中显然定义为:
一个滴答声代表一百纳秒或一千万分之一秒。一毫秒内有10000个滴答声(参见滴答声毫秒),一秒钟内有1000万个滴答声
此属性的值表示自公历0001年1月1日午夜12:00:00以来经过的100纳秒间隔数,表示最小值。它不包括可归因于闰秒的滴答数
在这个问题()中作为示例链接的网页中,我们可以看到JavaScript不理解滴答声,因此网页正在将滴答声转换为毫秒
因此,我颠倒了这一点,并举了以下例子:
void main() {
print(DateTime.now().ticks); // 637318676156933690
}
const _epochTicks = 621355968000000000;
extension TicksOnDateTime on DateTime {
int get ticks => this.microsecondsSinceEpoch * 10 + _epochTicks;
}
你说的“滴答”是什么意思?秒?例如:637310562843838745->2020-07-22T23:11:24.383Z。我用。现在我需要将DateTime.Now转换为ticks。在被ISO8601字符串弄糊涂之前,我就有了这个想法。因为它乘以了10
,所以它实际上不是DateTime.now()
,尽管只有一个非常小的错误。例如,如果只存在daysSinceEpoch
,那么(daysSinceEpoch*24*3600*1000)*10+个epochTicks
将是一天开始的刻度,而不是现在。然而,这可能是使用核心库以最少的错误获得它的唯一方法。