[英]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.