将人类可读的日期转换为纪元时间戳

Posted

技术标签:

【中文标题】将人类可读的日期转换为纪元时间戳【英文标题】:Convert Human readable date into an epoch time stamp 【发布时间】:2012-11-12 21:35:17 【问题描述】:

我正在处理一个 C# 项目,其中我有一个 2012-11-24 15:35:18 格式的日期/时间,我需要将其转换为一个纪元时间戳

我在 Google 上找到的所有内容都是将纪元时间戳转换为人类可读的,但我需要反过来做。

感谢您提供的任何帮助。

【问题讨论】:

【参考方案1】:

我找到了这个here:

epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

您应该可以输入您想要的时间,而不是 DateTime.Now。

【讨论】:

谢谢,我查看了那个网站,没有注意到底部所有不同的代码示例【参考方案2】:

您没有说出您的确切用例,但标准 .NET DateTime 有一个 Ticks 属性,其定义为:

这个属性的值代表100纳秒的数量 自 0001 年 1 月 1 日午夜 12:00:00 以来经过的时间间隔, 它代表 DateTime.MinValue。它不包括数量 可归因于闰秒的滴答声。

这本质上是一个基于纪元的时间,如果它符合您的需要的话。否则,使用此值,您应该能够轻松计算转换为另一个纪元计时方法。

【讨论】:

【参考方案3】:

您需要使用 TryParse:

string input = "2012-11-24 15:35:18";
DateTime dateTime;
if (DateTime.TryParse(input, out dateTime))

    ulong epoch = (dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

【讨论】:

以上是关于将人类可读的日期转换为纪元时间戳的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 纪元时间转换为本地人类可读日期

如何在 python 中将普通时间戳转换为纪元时间戳

如何将字符串时间戳更改为人类可读的日期格式? [复制]

将长的 Unix 纪元时间戳转换为实际日期/时间

如何将纳秒的纪元时间转换为人类可读的?

如何使用 sed 将纪元转换为人类可读的日期时间