【问题标题】:Convert DateTime Object in C# to an epoch in Mozilla将 C# 中的 DateTime 对象转换为 Mozilla 中的纪元
【发布时间】:2011-08-09 17:10:48
【问题描述】:

我需要能够将 C# 中的 DateTime 对象转换为存储在 places.sqlite 中的纪元。

我试过这样做,但我意识到它给了我一个未来的约会!

public static long convertDateTimeToEpoch(DateTime time)
{
    DateTime epoch = new DateTime(1970, 1, 1);

    TimeSpan ts = time - epoch;
    return (long) ts.Ticks/ 10;
}

我做错了什么?谁能告诉我正确的转换方式,因为我没有找到任何示例?

【问题讨论】:

    标签: sqlite datetime mozilla epoch


    【解决方案1】:

    我认为您正在寻找的是:

    public static long convertDateTimeToEpoch(DateTime time)
    {
        DateTime epoch = new DateTime(1970, 1, 1);
    
        return time.Subtract(epoch).TotalMilliseconds;
    }
    

    【讨论】:

    • 谢谢 :) 这正是我所需要的。
    • @Dimitri :这真的很奇怪。当我使用 DateTime.Now.toString() 将时间保存在文本文件中时,它正在存储未来的时间:/
    • @Michelle:未来几个小时?可以通过您的时区和格林尼治标准时间之间的时差来计算吗?你能提供更多关于实施的细节吗?
    • 我所做的就是:TextWriter tw = new StreamWriter("textfiles//lastIndexTime.txt"); tw.WriteLine(DateTime.Now.ToString()); tw.Close();我住在马耳他,所以它是 GMT+1。它给了我大约半小时的差异,甚至没有一个小时,呵呵
    • 您正在比较写入时间和系统时间,对吗?我要做的是单步执行代码并查看 DateTime.Now 在写入文本文件时返回的内容。
    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 2011-04-11
    • 2012-06-06
    • 2014-10-17
    • 1970-01-01
    • 2016-03-15
    • 2012-11-07
    相关资源
    最近更新 更多