首页 > 解决方案 > 自飞镖时代以来,我如何获得蜱虫?

问题描述

我在 dart lang 中找到了millisecondsSinceEpochin Datetime,但我的请求需要自 Epoch 以来的勾选。那么我怎样才能转换DateTime.now()为自 Epoch 以来的刻度?

标签: dart

解决方案


所以ticks在.NET中显然定义为:

一个滴答表示一百纳秒或百万分之一秒。一毫秒内有 10,000 个滴答声(请参阅 TicksPerMillisecond),一秒内有 1000 万个滴答声。

此属性的值表示自公历 0001 年 1 月 1 日午夜 12:00:00 以来经过的 100 纳秒间隔数,它表示 MinValue。它不包括可归因于闰秒的滴答数。

https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks?view=netcore-3.1#System_DateTime_Ticks

在这个问题(https://tickstodatetime.azurewebsites.net/)中作为示例链接的网页中,我们可以看到 JavaScript 不理解刻度,因此网页将刻度转换为自纪元以来的毫秒数。

因此,我颠倒了这一点并举了以下例子:

void main() {
  print(DateTime.now().ticks); // 637318676156933690
}

const _epochTicks = 621355968000000000;
extension TicksOnDateTime on DateTime {
  int get ticks => this.microsecondsSinceEpoch * 10 + _epochTicks;
}

推荐阅读