[英]How to parse a date string in a foreign language with go time
所以我的问题是:我想这样做:
datestring := "19. april 2018"
parsedDate, err := time.Parse("2. January 2006", datestring)
if err != nil {
fmt.Println(err)
}
fmt.Println(parsedDate)
该代码段可以完美运行...但是现在我输入的日期字符串不是英语,而是德语。 于是四月愚弄了我。 (德语四月=英语四月)。 使用datestring := "19. Februar 2018"
运行此datestring := "19. Februar 2018"
失败:
parsing time "12. februar 2018" as "2. January 2006":
cannot parse "februar 2018" as "Januar\"
有什么方法可以添加可解析(自然)语言? 或定义我期望的语言。 我在文档中没有找到任何提及。
谢谢!
一种方法是将原始字符串中的月份从您的语言环境转换为数字或英语语言环境,然后再将其发送到Parse()函数。 它肯定会工作。
这是一个具有多种语言定义的yaml文件-https: //github.com/scrapinghub/dateparser/blob/8e91eb1a6d161a50b1869408c559dc605ef3583f/data/languages.yaml#L116
那是python中的库,所以不适合使用。 但是您可以使用此yaml文件进行转换。 从此答案中获取-https: //stackoverflow.com/a/32482516/801426
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.