我有一个代表这样的字符串:
string startdatetime = "13988110600000"
Run Code Online (Sandbox Code Playgroud)
我想要做的是将此字符串(毫秒)转换为DateTime变量.这就是我正在做的事情:
double ticks = double.Parse(startdatetime);
TimeSpan time = TimeSpan.FromMilliseconds(ticks);
DateTime startdate = new DateTime(time.Ticks);
Run Code Online (Sandbox Code Playgroud)
结果几乎是好的:我有一个奇怪的约会,但时间还可以(30/04/0045 18:00:00).
这有什么理由吗?
Chr*_*Fin 47
DateTime
在.NET中初始化0001-01-01 00:00:00
,然后你添加你的TimeSpan
,似乎是45年.
这种(毫秒)时间定义的开始是常见的1970-01-01 00:00:00
,因此以下可能会给出预期的结果:
double ticks = double.Parse(startdatetime);
TimeSpan time = TimeSpan.FromMilliseconds(ticks);
DateTime startdate = new DateTime(1970, 1, 1) + time;
Run Code Online (Sandbox Code Playgroud)
或者干脆
var date = (new DateTime(1970, 1, 1)).AddMilliseconds(double.Parse(startdatetime));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31190 次 |
最近记录: |