diff --git a/src/utils.js b/src/utils.js index 324bc5e11..f3e4c20b3 100644 --- a/src/utils.js +++ b/src/utils.js @@ -40,7 +40,8 @@ const prettyUnit = (u) => { ms: C.MS, Q: C.Q } - return special[u] || String(u || '').toLowerCase().replace(/s$/, '') + const lower = String(u || '').toLowerCase() + return special[u] || special[lower] || lower.replace(/s$/, '') } const isUndefined = s => s === undefined diff --git a/test/get-set.test.js b/test/get-set.test.js index dae4d476c..23b04bebd 100644 --- a/test/get-set.test.js +++ b/test/get-set.test.js @@ -64,6 +64,15 @@ it('Millisecond', () => { expect(dayjs().millisecond()).toBe(moment().millisecond()) expect(dayjs().millisecond(0).valueOf()).toBe(moment().millisecond(0).valueOf()) expect(dayjs().millisecond(1).valueOf()).toBe(moment().millisecond(1).valueOf()) + expect(dayjs().get('MS')).toBe(dayjs().get('ms')) +}) + +it('Set Millisecond with short and mixed-case units', () => { + const d = dayjs('2024-06-15T12:34:56.789') + expect(d.get('MS')).toBe(789) + expect(d.set('MS', 500).millisecond()).toBe(500) + expect(d.set('Ms', 250).millisecond()).toBe(250) + expect(d.startOf('MS').valueOf()).toBe(d.startOf('ms').valueOf()) }) it('Set Day', () => { diff --git a/test/utils.test.js b/test/utils.test.js index 0d7e6e044..d40ebc36a 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -18,6 +18,9 @@ it('PrettyUnit', () => { expect(prettyUnit('m')).toBe('minute') expect(prettyUnit('s')).toBe('second') expect(prettyUnit('ms')).toBe('millisecond') + expect(prettyUnit('MS')).toBe('millisecond') + expect(prettyUnit('Ms')).toBe('millisecond') + expect(prettyUnit('mS')).toBe('millisecond') expect(prettyUnit('Q')).toBe('quarter') expect(prettyUnit()).toBe('') })