将datetime ticks(String.Format("{0:D19}",DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)转换为datetime

Jag*_*B S 3 .net c# datetime azure azure-table-storage

我以日期时间刻度格式存储Azure表存储rowkey

String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
Run Code Online (Sandbox Code Playgroud)

我想转换回日期时间.

xan*_*tos 6

如果你这样做:

string str = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);
Run Code Online (Sandbox Code Playgroud)

那我们就有了

// str = max - now
Run Code Online (Sandbox Code Playgroud)

那么

// now = max - str
Run Code Online (Sandbox Code Playgroud)

所以

DateTime now = new DateTime(DateTime.MaxValue.Ticks - long.Parse(str), DateTimeKind.Utc);
Run Code Online (Sandbox Code Playgroud)