[英]Understanding the time.Parse function in Go
我目前正在將代碼從go移植到c#,並遇到了這段(簡化的)代碼。 我知道它轉換給定的字符串171228175744.085
使用給定的格式060102150405
。
官方文檔僅包含使用常見格式(如2017-Feb-1
示例,而不使用此格式(可能的時間戳?)。
我確實知道這將導致時間2017-12-28 17:57:44.085 +0000 UTC
,但是我不知道如何,因為我不知道字符串171228175744.085
和布局代表什么。 我確實知道其中一些信息與GPS有關。 因此,我的問題是:有人知道如何在c#中執行此操作嗎?
package main
import (
"fmt"
"time"
)
func main() {
t, err := time.Parse("060102150405", "171228175744.085")
if err == nil{
fmt.Println(t)
}
}
圍繞time.Format的文檔解釋了格式的含義。
引用:
Format returns a textual representation of the time value formatted
according to layout, which defines the format by showing how the
reference time, defined to be
Mon Jan 2 15:04:05 -0700 MST 2006
您的示例中的格式字符串: 060102150405
告訴時間解析器查找以下內容:
這是一種告訴解析器如何解釋每個數字的便捷方法。 如果仔細看,您會發現數字沒有被重用,因此當您說06
,解析器會將其匹配到2006
。
在C#中,可以使用datetime.ParseExact 。 類似於以下內容:
DateTime.ParseExact(dateString, "yyMMddhhmmss", some_provider);
(注意:我沒有嘗試過上面的C#代碼段。您可能需要對其進行調整)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.