我正在开发一个C#项目,我的日期/时间格式为2012-11-24 15:35:18
,我需要将其转换为一个纪元时间戳。
我在谷歌上发现的一切都是将一个纪元时间戳转换成人类可读的,但我需要它反过来做。
感谢您提供的任何帮助。
答案 0 :(得分:2)
我发现了here:
epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
而不是DateTime.Now,您应该能够输入所需的时间。
答案 1 :(得分:1)
您没有说出确切的用例,但标准的.NET DateTime具有Ticks
属性,定义为:
此属性的值表示100纳秒的数量 自0001年1月1日午夜12:00:00起经过的间隔, 代表DateTime.MinValue。它不包括数量 可归因于闰秒的滴答声。
如果符合您的需求,这基本上是一个基于时代的时间。否则,使用此值,您应该可以轻松计算到另一个纪元时间保持方法的转换。
答案 2 :(得分:0)
您需要使用TryParse:
string input = "2012-11-24 15:35:18";
DateTime dateTime;
if (DateTime.TryParse(input, out dateTime))
{
ulong epoch = (dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
}