Day.js 完美支持国际化。
但除非手动加载,多国语言默认是不会被打包到工程里的。
您可以加载多个其他语言并自由切换。
支持的语言列表
我们还根目录提供了 locale.json (opens new window) 文件,包含所有支持的语言列表。
语言包配置的具体细节以及如何更新或自定义语言都可以查看 自定义 中的内容。
欢迎给我们提交 Pull Request 来增加新的语言。
# 在NodeJS中加载语言配置
按需加载语言文件。
require('dayjs/locale/de')
// import 'dayjs/locale/de' // ES 2015
dayjs.locale('de') // use locale globally
dayjs().locale('de').format() // use locale in a specific instance
您还可以加载并获取语言配置对象方便后面使用。
var locale_de = require('dayjs/locale/de')
// import locale_de from 'dayjs/locale/de' // ES 2015
# 在浏览器中加载语言配置
按需加载语言文件。
<script src="path/to/dayjs/locale/de"></script>
<script>
dayjs.locale('de') // use locale globally
dayjs().locale('de').format() // use locale in a specific instance
</script>
获取语言对象方便后面使用。
<script src="path/to/dayjs/locale/de"></script>
<!-- Load locale as window.dayjs_locale_NAME -->
<script>
var customLocale = window.dayjs_locale_zh_cn // zh-cn -> zh_cn
</script>
可以通过 CDN 加载 Day.js.
<!-- CDN example (unpkg) -->
<script src="https://unpkg.com/dayjs@1.8.21/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs@1.8.21/locale/zh-cn.js"></script>
<script>dayjs.locale('zh-cn')</script>
# 改变全局语言配置
默认情况下,Day.js 只内置了 English 的语言配置。 您可以按需加载其他本地化语言配置。
require('dayjs/locale/zh-cn')
当加载了一个语言配置之后,它就是可用的状态了。 要改变全局语言配置,只需调用 dayjs.locale
并传入一个已经加载的语言配置的名称。
更改全局的语言配置并不会影响之前存在的实例。
dayjs.locale('zh-cn') // use loaded locale globally
dayjs.locale('en') // switch back to default English locale globally
# 改变当前语言配置
当操作多个 Day.js 实例并想格式化显示为不同语言的文字时,全局的语言配置可能会出现问题。
用法与 dayjs#locale
一致,但只会修改当前实例的语言配置。
require('dayjs/locale/de')
dayjs().locale('de').format() // 局部修改语言配置
# 检查当前语言配置
返回当前 Day.js 实例的语言配置。
dayjs.locale() // 'en'
# 列出当前语言的月份和周
获取当前语言配置的全部月份和星期列表。
注意
此功能依赖 LocaleData 插件
dayjs.extend(localeData)
dayjs.weekdays()
dayjs.weekdaysShort()
dayjs.weekdaysMin()
dayjs.monthsShort()
dayjs.months() // e.g. return [ 'January','February','March','April','May',
// 'June','July','August','September','October','November','December' ]
# 获取语言配置的属性
你可以通过调用 dayjs.localeData()
来获得当前全局语言配置的属性,或 dayjs().localeData()
获取当前 Day.js 对象的。
注意
此功能依赖 LocaleData 插件
dayjs.extend(localeData)
globalLocaleData = dayjs.localeData()
globalLocaleData.firstDayOfWeek()
globalLocaleData.months()
globalLocaleData.monthsShort()
globalLocaleData.weekdays()
globalLocaleData.weekdaysShort()
globalLocaleData.weekdaysMin()
globalLocaleData.months(dayjs())
globalLocaleData.monthsShort(dayjs())
globalLocaleData.weekdays(dayjs())
globalLocaleData.weekdaysShort(dayjs())
globalLocaleData.weekdaysMin(dayjs())
instanceLocaleData = dayjs().localeData()
instanceLocaleData.firstDayOfWeek()
instanceLocaleData.months()
instanceLocaleData.monthsShort()
instanceLocaleData.weekdays()
instanceLocaleData.weekdaysShort()
instanceLocaleData.weekdaysMin()