Tej*_*udi 68 c# sql-server datetime
我有一个SQL服务器时间戳,我需要将其转换为自1970年以来以毫秒为单位的时间表示.我可以使用纯SQL执行此操作吗?如果没有,我将它提取到DateTimeC#中的变量中.是否有可能获得毫米级的代表?
谢谢,
Teja.
And*_*mar 128
您可能正在尝试转换为类似UNIX的时间戳,它们是UTC:
yourDateTime.ToUniversalTime().Subtract(
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
).TotalMilliseconds
Run Code Online (Sandbox Code Playgroud)
这也避免了夏季问题,因为UTC没有这些问题.
SLa*_*aks 64
在C#中,你可以写
(long)(date - new DateTime(1970, 1, 1)).TotalMilliseconds
Run Code Online (Sandbox Code Playgroud)
Bob*_*Bob 23
从.NET 4.6开始,您可以使用DateTimeOffset对象获取unix毫秒.它有一个构造函数,它接受一个DateTime对象,所以你可以传入你的对象,如下所示.
DateTime yourDateTime;
long yourDateTimeMilliseconds = new DateTimeOffset(yourDateTime).ToUnixTimeMilliseconds();
Run Code Online (Sandbox Code Playgroud)
如其他答案中所述,请确保指定yourDateTime了正确的Kind,或者先使用.ToUniversalTime()它将其转换为UTC时间.
在这里你可以了解更多DateTimeOffset.
| 归档时间: |
|
| 查看次数: |
103999 次 |
| 最近记录: |