如何在Visual Studio中将当前时间转换为毫秒?

Ran*_*een 1 c# time datetime visual-studio-2010

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

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

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

我得到的输出是

时间36:50.527

以分钟为单位:秒.毫秒

我需要将现在的时间转换为毫秒.

Gus*_*dor 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);
Run Code Online (Sandbox Code Playgroud)


Mat*_*int 8

您没有指定,但通常在您需要时间(以毫秒为单位)时,这是因为您将其传递给使用1970年1月1日UTC作为其时代的系统.JavaScript,Java,PHP,Python和其他人使用这个特殊的时代.

在C#中,你可以这样得到它:

DateTime epoch = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc);
long ms = (long) (DateTime.UtcNow - epoch).TotalMilliseconds;
Run Code Online (Sandbox Code Playgroud)