From 944badefd6a1d9834a4e1056ae0b53ada807b4f2 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Fri, 2 Dec 2022 12:15:07 +0800 Subject: [PATCH 1/3] feat: Add locale (zh-tw) meridiem and update format --- src/locale/zh-tw.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/locale/zh-tw.js b/src/locale/zh-tw.js index 5b194c63f..73c40344b 100644 --- a/src/locale/zh-tw.js +++ b/src/locale/zh-tw.js @@ -21,8 +21,8 @@ const locale = { LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', + LLL: 'YYYY年M月D日Ah點mm分', + LLLL: 'YYYY年M月D日ddddAh點mm分', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', @@ -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 - From a0abee209d55c2fe87204be62a9170636856e849 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Sat, 3 Dec 2022 22:33:43 +0800 Subject: [PATCH 2/3] revert format changes --- src/locale/zh-tw.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locale/zh-tw.js b/src/locale/zh-tw.js index 73c40344b..709f70cff 100644 --- a/src/locale/zh-tw.js +++ b/src/locale/zh-tw.js @@ -21,8 +21,8 @@ const locale = { LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah點mm分', - LLLL: 'YYYY年M月D日ddddAh點mm分', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', From 2f1db067311301b25e752e4794fed2d696194e0f Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Mon, 5 Dec 2022 17:59:49 +0800 Subject: [PATCH 3/3] add test for zh-tw locale --- test/locale/zh-tw.test.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/locale/zh-tw.test.js 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')) + } +})