为了账号安全,请及时绑定邮箱和手机立即绑定

使用 time.Format 时的本地化

使用 time.Format 时的本地化

Go
拉风的咖菲猫 2021-07-06 13:54:43
在time包中,格式化time.Time变量时,输出将使用未导出的 []string 切片中定义的周和月的英文名称。如何使用不同的语言(希望仍在使用Format())本地化字符串?例子:fmt.Println(time.Now().Format("Mon 2 January 2006"))输出:2014 年 1 月 28 日,星期二期望的输出:2014 年 1 月 28 日
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

正如您在时间包源代码中看到的,值在源代码中是硬编码的。所以,基本上,Go 现在不支持 i18n。i18n 在 Go 路线图上,它甚至在faq 中提到过,但最近没有关于该主题的评论。

同时,您可以尝试使用Monday包:

  // Change LocaleEnUS to the locale you want to use for translation
  monday.Format(time.Now(), "Mon 2 January 2006", monday.LocaleEnUS)


查看完整回答
反对 回复 2021-07-19
  • 1 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信