如何在C#中将毫秒转换为日期格式?

dan*_*nny 27 c# format datetime milliseconds

在C#中,如何将Unix风格的时间戳转换为yyyy-MM-ddThh:mm:ssZ?

Jay*_*Jay 31

首先将您的毫秒转换为TimeSpan:

var time = TimeSpan.FromMilliseconds(milliseconds);
Run Code Online (Sandbox Code Playgroud)

现在,在.NET 4中,您可以.ToString()使用格式字符串参数进行调用.请参阅http://msdn.microsoft.com/en-us/library/system.timespan.tostring.aspx

在以前的.NET版本中,您必须从TimeSpan的属性手动构造格式化的字符串.


Bab*_*fas 23

new DateTime(numTicks*10000)

日期时间(长蜱)构造函数是你所需要的.每个刻度表示100纳秒,因此乘以10000得到1毫秒.


Pra*_* R. 19

如果毫秒基于UNIX纪元时间,那么您可以使用:

var posixTime = DateTime.SpecifyKind(new DateTime(1970, 1, 1), DateTimeKind.Utc);
var time = posixTime.AddMilliseconds(milliSecs);
Run Code Online (Sandbox Code Playgroud)

  • 这个答案适用于JSON日期 (2认同)
  • 或者只是var posixTime = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc); (2认同)

mva*_*len 7

这对我有用:

DateTimeOffset.FromUnixTimeMilliseconds(milliseconds);
Run Code Online (Sandbox Code Playgroud)

如果需要,您可以从中获取DateTime.