deno.land / x / dayjs@v1.11.5 / test / timezone.test.js

timezone.test.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import MockDate from 'mockdate'import moment from 'moment'import dayjs from '../src'import timezone from '../src/plugin/timezone'import utc from '../src/plugin/utc'
dayjs.extend(utc)dayjs.extend(timezone)
beforeEach(() => { MockDate.set(new Date())})
afterEach(() => { MockDate.reset()})
it('Add Time days (DST)', () => { // change timezone before running test // New Zealand (-720) expect(dayjs('2018-04-01').add(1, 'd').format()).toBe(moment('2018-04-01').add(1, 'd').format()) expect(dayjs('2018-03-28').add(1, 'w').format()).toBe(moment('2018-03-28').add(1, 'w').format()) // London (-60) expect(dayjs('2018-10-28').add(1, 'd').format()).toBe(moment('2018-10-28').add(1, 'd').format()) expect(dayjs('2018-10-26').add(1, 'w').format()).toBe(moment('2018-10-26').add(1, 'w').format())})
it('Utc Offset', () => { expect(dayjs().utcOffset()).toBe(moment().utcOffset())})
it('Diff (DST)', () => { const day = '2018-10-28' const dayjsA = dayjs(day) const dayjsB = dayjs(day).add(-1000, 'days') const momentA = moment(day) const momentB = moment(day).add(-1000, 'days') const units = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'quarters', 'years'] units.forEach((unit) => { expect(dayjsA.diff(dayjsB, unit)).toBe(momentA.diff(momentB, unit)) expect(dayjsA.diff(dayjsB, unit, true)).toBe(momentA.diff(momentB, unit, true)) })})
it('UTC add day in DST', () => { const testDate = '2019-03-10' const dayTest = dayjs(testDate) .utc() .startOf('day') const momentTest = moment(testDate) .utc() .startOf('day') expect(dayTest.add(1, 'day').format()) .toBe(momentTest.clone().add(1, 'day').format()) expect(dayTest.add(2, 'day').format()) .toBe(momentTest.clone().add(2, 'day').format())})
it('UTC and utcOffset', () => { const test1 = 1331449199000 // 2012/3/11 06:59:59 GMT+0000 expect(dayjs(test1).utcOffset(-300).format()) .toBe(moment(test1).utcOffset(-300).format()) const test2 = '2000-01-01T06:31:00Z' expect(dayjs.utc(test2).utcOffset(-60).format()) .toBe(moment.utc(test2).utcOffset(-60).format())
// across DST, copied from utc.test.js#get utc offset with a number value const time = '2021-02-28 19:40:10' const hoursOffset = -8 const daysJS = dayjs(time).utc().utcOffset(hoursOffset * 60, true) const momentJS = moment(time).utc(true).utcOffset(hoursOffset, true)
expect(daysJS.toISOString()).toEqual(momentJS.toISOString())})
it('UTC diff in DST', () => { // DST till 2020-10-25 const day1 = dayjs.utc('20201023') // in DST const day2 = dayjs.utc('20201026') expect(day1.diff(day2, 'd')) .toBe(-3)})
dayjs

Version Info

Tagged at
a year ago