javascript - Dayjs 自定义语言环境抛出格式异常

标签 javascript dayjs

我想创建一个自定义区域设置并将其与DayJs一起使用。 docs 中提到了该过程

但是,当我按照该过程并创建自己的区域设置时,我无法格式化之后的日期。

这是用于检查相同内容的JSFiddlehttps://jsfiddle.net/5o4pwbtc/

以下是相同问题的 GitHub 问题:https://github.com/iamkun/dayjs/issues/746

/*  like mentioned here
https://github.com/iamkun/dayjs/blob/dev/docs/en/I18n.md#installation
*/
const locale = {
  formats: {
    // abbreviated format options allowing localization
    LTS: 'h:mm:ss A',
    LT: 'h:mm A',
    L: 'MM/DD/YYYY',
    LL: 'MMMM D, YYYY',
    LLL: 'MMMM D, YYYY h:mm A',
    LLLL: 'dddd, MMMM D, YYYY h:mm A',
    // lowercase/short, optional formats for localization
    l: 'D/M/YYYY',
    ll: 'D MMM, YYYY',
    lll: 'D MMM, YYYY h:mm A',
    llll: 'ddd, MMM D, YYYY h:mm A'
  },
  relativeTime: {
    name: 'en',
    future: '%s',
    past: '%s',
    s: 'now',
    m: 'a minute ago',
    mm: '%d minutes ago',
    h: 'an hour',
    hh: '%d hours', // e.g. 2 hours, %d been replaced with 2
    d: 'a day',
    dd: '%d days',
    M: 'a month',
    MM: '%d months',
    y: 'a year',
    yy: '%d years'
  }
}

dayjs.locale(locale);

dayjs(1575872723701).format() 
// Uncaught TypeError: Cannot read property '10' of undefined
<script src="https://unpkg.com/dayjs@1.8.17/dayjs.min.js"></script>

最佳答案

您需要导入 https://unpkg.com/browse/dayjs@1.8.17/ 中提到的所有文档暂时,查看脚本,locale 对象缺少一些属性,例如 monthsShort (想法取自 locale 下的 en.js):

const locale = {
  formats: {
    ...
    monthsShort: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
    months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
    weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
    weekdaysShort: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_')
 }
};

关于javascript - Dayjs 自定义语言环境抛出格式异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59260802/

相关文章:

javascript - 我可以对 DOM 进行单元测试吗?

javascript - JavaScript中有身份索引值吗?

javascript - 如何将时间格式化为 dayjs 对象?

javascript - 打开和关闭侧导航菜单以及导航栏问题

javascript - 随机更改图像顶部不同 div 的不透明度级别

javascript - 我怎样才能让图像隐藏在mouseout

npm - 如何从dayjs https ://www. npmjs.com/package/dayjs动态获取语言环境?

javascript - 努力让 DayJs 可用于 cypress 中的所有测试

reactjs - 使用dayjs时如何在输入类型日期时间本地字段中设置默认值?