簡體   English   中英

如何在C#中找到當前時間長?

[英]How can I find the current time as a long in C#?

我有這個Java代碼,我想在C#中做同樣的事情:

long now =System.currentTimeMillis()/1000;

檢查了java返回的內容 (1970/1/1等):

static readonly DateTime epoch=new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc);
...
long ms = (long)(DateTime.UtcNow - epoch).TotalMilliseconds;
long result = ms / 1000; 

在C#中沒有直接等同於此(我的意思是在一行中),但假設您只是想要功能相似的東西,但不一定是Java實現,您可以使用:

DateTime.Now.Ticks;

蜱蟲是:

此屬性的值表示自0001年1月1日午夜12:00:00起經過的100納秒間隔的數量,表示DateTime.MinValue。

http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx

這可能與你無關,但是以時間/秒為單位的時間通常用於微基准測試,以衡量代碼中的內容需要多長時間,而C#有更好的類,即Stopwatch 它更容易使用,也更准確。

使用它像:

Stopwatch s = Stopwatch.StartNew();
s.Stop();
Console.Write(s.Elapsed);

這可能不是你想要做的,但無論如何都很有用。

currenTimeMillis給出自1970年1月1日以來的毫秒數,所以如果您需要完全相同的答案,您需要以下內容:

((DateTime.Now - new DateTime(1970,1,1)).TotalMilliseconds) / 1000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM