在 T-SQL 中将以毫秒为单位的 Epoch 转换为日期

Posted

技术标签:

【中文标题】在 T-SQL 中将以毫秒为单位的 Epoch 转换为日期【英文标题】:Convert Epoch with milliseconds into Date in T-SQL 【发布时间】:2016-09-28 02:30:46 【问题描述】:

我遇到了一个附加毫秒的纪元时间戳问题。

我的纪元时间戳的格式是:

1439263190,2609999

内置的 dateadd 函数只能处理 int 值。

有什么解决方法吗?

KR约翰

【问题讨论】:

试试***.com/questions/14716744/… 或***.com/questions/12524537/… 2609999 毫秒?您提供的价值的日期时间应该是什么? 我需要一个类似于“27.07.2015 21:00:00.004”的日期时间,毫秒需要 3 位小数。 【参考方案1】:

纪元时间(又称 Unix 时间)是自 1970 年 1 月 1 日午夜以来的秒数。

要解决仅处理整数值的 DateAdd 函数,只需将值分配给一个整数变量并在对 DateAdd 的调用中使用它。

例如这段代码:

declare @epoch decimal(20,7) = 1439263190.2609999
declare @epoch2 int = @epoch
select @epoch, @epoch2, DATEADD(s, @epoch2, '1970-01-01 00:00:00')

给出这个结果:

1439263190.2609999    1439263190    2015-08-11 03:19:50.000

【讨论】:

以上是关于在 T-SQL 中将以毫秒为单位的 Epoch 转换为日期的主要内容,如果未能解决你的问题,请参考以下文章

Razor 视图中的 Epoch/Unix 时间戳(以毫秒为单位)到日期时间

XQuery 中是不是有任何方法可以获取自某个 Epoch 以来的当前时间(以毫秒为单位)?

DateTime 以毫秒为单位的表示?

自Javascript中的unix时代以来,如何以毫秒为单位获取时间? [复制]

将时间戳(以毫秒为单位)转换为 Java 中的字符串格式时间

提前 30 分钟获取 Android Unix Epoch?