是否有一个函数/库/简单的代码片段这样做?

例如,我找到了 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 中,您应该能够使用注释中提到的函数。

datetime - 如何在 F# 中将 DateTime 转换为 Unix TimeStamp?-LMLPHP

下面是一个例子:

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

由于 ToUnixTimeSecondsFromUnixTimeSecondsDateTimeOffset 上运行,因此可以使用它或在必要时来回转换为 DateTime

顺便说一下,我发现在 .fsx 文件中,这些方法的智能感知有点不稳定(但有效)。在 .fs 文件中没问题。

关于datetime - 如何在 F# 中将 DateTime 转换为 Unix TimeStamp?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42498772/

10-13 23:02