gpt4 book ai didi

go - 如何解析 GMT 时区 Golang

转载 作者:数据小太阳 更新时间:2023-10-29 03:32:51 28 4
gpt4 key购买 nike

我有这样的时区 ID:(GMT+01:00) Brussels, Copenhagen, Madrid, Paris。从此字符串中获取 time.Location 的最佳方法是什么?

最佳答案

您需要从字符串中提取区域名称,然后将其转换为位置。

您可以使用正则表达式完成第一部分,后者使用 time.LoadLocation

package main

import (
"fmt"
"regexp"
"time"
)

func main() {
re := regexp.MustCompile(`^\(([A-Z]+)[+-:0-9]+\).*`)
input := "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris."

matches := re.FindStringSubmatch(input)
fmt.Println("Found timezone string: ", matches[1])

l, _ := time.LoadLocation(matches[1])
fmt.Println("Found timezone:", l)

fmt.Println(time.Now())
fmt.Println(time.Now().In(l))
}

打印出来:

$ go run ./main.go
Found timezone string: GMT
Found timezone: GMT
2018-01-24 10:30:28.989832073 +0100 CET
2018-01-24 09:30:28.989860913 +0000 GMT

警告:我忽略了错误和不匹配的正则表达式,你可能不应该这样做。

关于go - 如何解析 GMT 时区 Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48417993/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com