Time 如何解析围棋中的非标准日期/时间?Mittelurop和xE4;是索默泽特吗

Time 如何解析围棋中的非标准日期/时间?Mittelurop和xE4;是索默泽特吗,time,go,Time,Go,我正在尝试分析电子邮件标题中收到的日期。最近,我被困在这个问题上周四,2014年8月7日14:03:05+0200(Mitteleuropäische Sommerzeit)。我应该使用什么样的布局周一,2006年1月2日15:04:05-0700(MST)不起作用 我也尝试了下面的解决方法,但仍然不起作用。我不知道为什么米特。。。没有被取代 if strings.Contains(d, "Mitteleuropäische Sommerzeit") { d = strings.Repl

我正在尝试分析电子邮件标题中收到的日期。最近,我被困在这个问题上
周四,2014年8月7日14:03:05+0200(Mitteleuropäische Sommerzeit)
。我应该使用什么样的布局<代码>周一,2006年1月2日15:04:05-0700(MST)不起作用

我也尝试了下面的解决方法,但仍然不起作用。我不知道为什么米特。。。没有被取代

if strings.Contains(d, "Mitteleuropäische Sommerzeit") {
    d = strings.Replace(d, "Mitteleuropäische Sommerzeit", "CEST", 1)
}

time
软件包确实无法识别
Mitteleuropäische Sommerzeit
部分。但是,当您用
CEST
替换它时,它可以完美地工作:

var d = "Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)"
_, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // There is indeed an error
}

d = strings.Replace(d, "Mitteleuropäische Sommerzeit", "CEST", 1)
t, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // No error this time
}
fmt.Println(t) // 2014-08-07 14:03:05 +0200 CEST


不要忘了在布局中编写
äu 2
而不是
2
,这样也可以解析有两个数字的日期。

时间包确实无法识别
Miteleuropäische Sommerzeit
部分。但是,当您用
CEST
替换它时,它可以完美地工作:

var d = "Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)"
_, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // There is indeed an error
}

d = strings.Replace(d, "Mitteleuropäische Sommerzeit", "CEST", 1)
t, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // No error this time
}
fmt.Println(t) // 2014-08-07 14:03:05 +0200 CEST


不要忘了在布局中编写
äu 2
而不是
2
,这样也可以解析有两个数字的日期。

时间包确实无法识别
Miteleuropäische Sommerzeit
部分。但是,当您用
CEST
替换它时,它可以完美地工作:

var d = "Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)"
_, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // There is indeed an error
}

d = strings.Replace(d, "Mitteleuropäische Sommerzeit", "CEST", 1)
t, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // No error this time
}
fmt.Println(t) // 2014-08-07 14:03:05 +0200 CEST


不要忘了在布局中编写
äu 2
而不是
2
,这样也可以解析有两个数字的日期。

时间包确实无法识别
Miteleuropäische Sommerzeit
部分。但是,当您用
CEST
替换它时,它可以完美地工作:

var d = "Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)"
_, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // There is indeed an error
}

d = strings.Replace(d, "Mitteleuropäische Sommerzeit", "CEST", 1)
t, err := time.Parse("Mon, _2 Jan 2006 15:04:05 -0700 (MST)", d)
if err != nil {
    fmt.Println(err) // No error this time
}
fmt.Println(t) // 2014-08-07 14:03:05 +0200 CEST


不要忘记在布局中写入
\u 2
而不是
2
,这样也可以解析两位数的天数。

当您已经知道正确的数字偏移量时,尝试解析括号中的时区名称是多余的:

Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)

Thu, 7 Aug 2014 14:03:05 +0200
您从第一次陈述中获得的唯一附加信息是,发送电子邮件的时间是夏天,电子邮件作者来自的地区是中欧(字面意思是“中欧夏季”)

但是,与第二个字符串相比,这不会影响
time.time
值的表示形式,因为夏令时调整已反映在冬季将成为
+0100
的数字时区表示形式
+0200


换句话说,在这种情况下,您可以忽略拼写的时区规范。

当您已经知道正确的数字偏移量时,尝试解析括号中的时区名称是多余的:

Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)

Thu, 7 Aug 2014 14:03:05 +0200
您从第一次陈述中获得的唯一附加信息是,发送电子邮件的时间是夏天,电子邮件作者来自的地区是中欧(字面意思是“中欧夏季”)

但是,与第二个字符串相比,这不会影响
time.time
值的表示形式,因为夏令时调整已反映在冬季将成为
+0100
的数字时区表示形式
+0200


换句话说,在这种情况下,您可以忽略拼写的时区规范。

当您已经知道正确的数字偏移量时,尝试解析括号中的时区名称是多余的:

Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)

Thu, 7 Aug 2014 14:03:05 +0200
您从第一次陈述中获得的唯一附加信息是,发送电子邮件的时间是夏天,电子邮件作者来自的地区是中欧(字面意思是“中欧夏季”)

但是,与第二个字符串相比,这不会影响
time.time
值的表示形式,因为夏令时调整已反映在冬季将成为
+0100
的数字时区表示形式
+0200


换句话说,在这种情况下,您可以忽略拼写的时区规范。

当您已经知道正确的数字偏移量时,尝试解析括号中的时区名称是多余的:

Thu, 7 Aug 2014 14:03:05 +0200 (Mitteleuropäische Sommerzeit)

Thu, 7 Aug 2014 14:03:05 +0200
您从第一次陈述中获得的唯一附加信息是,发送电子邮件的时间是夏天,电子邮件作者来自的地区是中欧(字面意思是“中欧夏季”)

但是,与第二个字符串相比,这不会影响
time.time
值的表示形式,因为夏令时调整已反映在冬季将成为
+0100
的数字时区表示形式
+0200


换句话说,在这种情况下,您可以忽略指定的时区规范。

似乎有效:我认为这是编码问题或其他问题。在日志中,我实际上将其记录为Mitteleurop�我是萨默泽特。你知道如何解决这个编码问题吗?不管怎样…
x:=strings.Split(d,“(Mitteleuro”)d=x[0]d=strings.Replace(d,“Mitteleuro”,“CEST)”,1)
似乎有效:我想这是编码问题还是什么。在日志中,我实际上将其记录为Mitteleurop�我是萨默泽特。你知道如何解决这个编码问题吗?不管怎样…
x:=strings.Split(d,“(Mitteleuro”)d=x[0]d=strings.Replace(d,“Mitteleuro”,“CEST)”,1)
似乎有效:我想这是编码问题还是什么。在日志中,我实际上将其记录为Mitteleurop�我是萨默泽特。你知道如何解决这个编码问题吗?不管怎样…
x:=strings.Split(d,“(Mitteleuro”)d=x[0]d=strings.Replace(d,“Mitteleuro”,“CEST)”,1)
似乎有效:我想这是编码问题还是什么。在日志中,我实际上将其记录为Mitteleurop�我是萨默泽特。知道如何解决这个编码问题吗?没问题