簡體   English   中英

如何在F#中將DateTime轉換為Unix TimeStamp?

[英]how to convert DateTime into Unix TimeStamp in F#?

有沒有這樣的函數/庫/簡單片段?

我找到了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中,您應該能夠使用注釋中引用的功能。

.NET 4.6.2

這是一個例子:

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文件中,intellisense對於這些方法來說有點不穩定(但有效)。 在.fs文件中沒關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM