From 1e9ba761ff4e3f2759106dfe1aa9054d5826451c Mon Sep 17 00:00:00 2001 From: kevin82222 Date: Mon, 5 Dec 2022 22:40:10 +0800 Subject: [PATCH] fix: Add locale (zh-tw) meridiem (#2149) --- src/locale/zh-tw.js | 16 +++++++++++++++- test/locale/zh-tw.test.js | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 test/locale/zh-tw.test.js diff --git a/src/locale/zh-tw.js b/src/locale/zh-tw.js index 5b194c63f..709f70cff 100644 --- a/src/locale/zh-tw.js +++ b/src/locale/zh-tw.js @@ -42,10 +42,24 @@ const locale = { MM: '%d 個月', y: '1 年', yy: '%d 年' + }, + meridiem: (hour, minute) => { + const hm = (hour * 100) + minute + if (hm < 600) { + return '凌晨' + } else if (hm < 900) { + return '早上' + } else if (hm < 1100) { + return '上午' + } else if (hm < 1300) { + return '中午' + } else if (hm < 1800) { + return '下午' + } + return '晚上' } } dayjs.locale(locale, null, true) export default locale - diff --git a/test/locale/zh-tw.test.js b/test/locale/zh-tw.test.js new file mode 100644 index 000000000..57a3f1079 --- /dev/null +++ b/test/locale/zh-tw.test.js @@ -0,0 +1,21 @@ +import dayjs from '../../src' +import advancedFormat from '../../src/plugin/advancedFormat' +import weekOfYear from '../../src/plugin/weekOfYear' +import '../../src/locale/zh' +import '../../src/locale/zh-tw' + +dayjs.extend(advancedFormat).extend(weekOfYear) + +const zh = dayjs().locale('zh') +const zhTW = dayjs().locale('zh-tw') + +test('ordinal', () => { + expect(zh.format('wo')).toEqual(`${zh.format('w')}周`) + expect(zhTW.format('wo')).toEqual(`${zhTW.format('w')}週`) +}) + +test('Meridiem', () => { + for (let i = 0; i <= 24; i += 1) { + expect(zh.add(i, 'hour').format('A')).toBe(zhTW.add(i, 'hour').format('A')) + } +})