@@ -2,6 +2,7 @@ import MockDate from 'mockdate'
2
2
import moment from 'moment'
3
3
import dayjs from '../../src'
4
4
import relativeTime from '../../src/plugin/relativeTime'
5
+ import utc from '../../src/plugin/utc'
5
6
6
7
dayjs . extend ( relativeTime )
7
8
@@ -70,7 +71,6 @@ it('Time from now', () => {
70
71
expect ( dayjs ( ) . fromNow ( true ) ) . toBe ( moment ( ) . fromNow ( true ) )
71
72
} )
72
73
73
-
74
74
it ( 'Time to now' , ( ) => {
75
75
expect ( dayjs ( ) . toNow ( ) ) . toBe ( moment ( ) . toNow ( ) )
76
76
expect ( dayjs ( ) . toNow ( true ) ) . toBe ( moment ( ) . toNow ( true ) )
@@ -82,3 +82,26 @@ it('Time to X', () => {
82
82
// past date
83
83
expect ( dayjs ( ) . to ( dayjs ( ) . subtract ( 3 , 'year' ) ) ) . toBe ( moment ( ) . to ( moment ( ) . subtract ( 3 , 'year' ) ) )
84
84
} )
85
+
86
+ // https://github.com/iamkun/dayjs/issues/646
87
+ it ( 'Time from now with UTC' , ( ) => {
88
+ dayjs . extend ( utc )
89
+
90
+ expect ( dayjs . utc ( ) . fromNow ( ) ) . toBe ( moment . utc ( ) . fromNow ( ) )
91
+
92
+ const currentTime = new Date ( )
93
+ const currentTimestamp = currentTime . getTime ( )
94
+ const currentTimestampAfter37hrs = currentTimestamp + ( 37 * 60 * 60 * 1000 )
95
+
96
+ let dutc = dayjs . utc ( currentTimestampAfter37hrs )
97
+ let mutc = moment . utc ( currentTimestampAfter37hrs )
98
+
99
+ expect ( dutc . fromNow ( ) ) . toBe ( mutc . fromNow ( ) )
100
+
101
+ // More precise
102
+ const currentTimestampAfter36hrs = currentTimestamp + ( 36.0001 * 60 * 60 * 1000 )
103
+ dutc = dayjs . utc ( currentTimestampAfter36hrs )
104
+ mutc = moment . utc ( currentTimestampAfter36hrs )
105
+
106
+ expect ( dutc . fromNow ( ) ) . toBe ( mutc . fromNow ( ) )
107
+ } )
0 commit comments