是否有一个函数/库/简单的代码片段这样做?
例如,我找到了 Python 的答案,但没有找到 F#,谢谢
我在这里找到了另一条路
http://tryfs.net/snippets/snippet-r6
open System
let toDateTime (timestamp:int) =
let start = DateTime(1970,1,1,0,0,0,DateTimeKind.Utc)
start.AddSeconds(float timestamp).ToLocalTime()
最佳答案
您应该小心,因为 timestamp
可能不是 int
。但是,在 .NET 4.6.x 中,您应该能够使用注释中提到的函数。
下面是一个例子:
open System
let unix = DateTimeOffset(DateTime.Now).ToUnixTimeSeconds() //val unix : int64 = 1488254491L
let dt = DateTimeOffset.FromUnixTimeSeconds(unix) //val dt : DateTimeOffset = 2017/02/28 4:01:31 +00:00
dt.LocalDateTime //val it : DateTime = 2017/02/28 13:01:31
由于
ToUnixTimeSeconds
和 FromUnixTimeSeconds
在 DateTimeOffset
上运行,因此可以使用它或在必要时来回转换为 DateTime
。顺便说一下,我发现在 .fsx 文件中,这些方法的智能感知有点不稳定(但有效)。在 .fs 文件中没问题。
关于datetime - 如何在 F# 中将 DateTime 转换为 Unix TimeStamp?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42498772/