1

我正在尝试将当前时间(系统时间)转换为毫秒...是否有任何内置函数可以用来轻松解决这个问题。

例如,我使用以下代码来获取时间并显示它。

System.Diagnostics.Debug.WriteLine("Time "+ String.Format("{0:mm:ss.fff}",DateTime.Now));

我得到的输出是

时间 36:50.527

以分钟为单位:秒.毫秒

我需要将我现在得到的时间转换为毫秒。

4

2 回答 2

10

你需要一个TimeSpan代表你的时代以来的时间。在我们的例子中,这是第 0 天。要得到这个,只需从 中减去第 0 天 ( DateTime.Min) DateTime.Now

var ms = (DateTime.Now - DateTime.MinValue).TotalMilliseconds;
            System.Diagnostics.Debug.WriteLine("Milliseconds since the alleged birth of christ: " + ms);
于 2013-10-11T10:19:34.137 回答
8

You didn't specify, but usually when you need the time in milliseconds, it's because you're passing it off to a system that uses Jan 1st 1970 UTC as its epoch. JavaScript, Java, PHP, Python and others use this particular epoch.

In C#, you can get it like this:

DateTime epoch = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc);
long ms = (long) (DateTime.UtcNow - epoch).TotalMilliseconds;
于 2013-10-11T15:45:49.233 回答