如何在C#中找到当前时间长?

时间:2009-04-14 14:05:47

标签: c# java

我有这个Java代码,我想在C#中做同样的事情:

long now =System.currentTimeMillis()/1000;

3 个答案:

答案 0 :(得分:10)

检查what java returns(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; 

答案 1 :(得分:2)

在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#有更好的类,即{{1} }。它更容易使用,也更准确。

使用它像:

Stopwatch

这可能不是你想要做的,但无论如何都很有用。

答案 2 :(得分:1)

currenTimeMillis给出自1970年1月1日以来的毫秒数,所以如果您需要完全相同的答案,您需要以下内容:

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