将日期时间刻度 (String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks) 转换为日期时间
Convert datetime ticks(String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks) to datetime
我正在存储 Azure table 日期时间刻度格式的存储行键
String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
我想转换回日期时间。
如果你正在做:
string str = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
然后我们有那个
// str = max - now
那么
// now = max - str
所以
DateTime now = new DateTime(DateTime.MaxValue.Ticks - long.Parse(str), DateTimeKind.Utc);
你的代码 returns 2519440974768899656
在我的时区,现在是 UTC +02:00,你可以将这个字符串解析为 long
并可以在 DateTime(long)
中使用构造函数。
var s = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks).Dump();
long l = long.Parse(s);
(new DateTime(l)).Dump();
Returns
16.10.7984 15:31:16
但老实说,根据您的操作,我不很确定这就是您想要的值。
我正在存储 Azure table 日期时间刻度格式的存储行键
String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
我想转换回日期时间。
如果你正在做:
string str = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
然后我们有那个
// str = max - now
那么
// now = max - str
所以
DateTime now = new DateTime(DateTime.MaxValue.Ticks - long.Parse(str), DateTimeKind.Utc);
你的代码 returns 2519440974768899656
在我的时区,现在是 UTC +02:00,你可以将这个字符串解析为 long
并可以在 DateTime(long)
中使用构造函数。
var s = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks).Dump();
long l = long.Parse(s);
(new DateTime(l)).Dump();
Returns
16.10.7984 15:31:16
但老实说,根据您的操作,我不很确定这就是您想要的值。