@@ -127,25 +127,25 @@ class Dayjs {
127127 switch ( string ) {
128128 case 'm' :
129129 case 'minutes' :
130- step = Constant . SECONDS_A_MINUTE
130+ step = Constant . MILLISECONDS_A_MINUTE
131131 break
132132 case 'h' :
133133 case 'hours' :
134- step = Constant . SECONDS_A_HOUR
134+ step = Constant . MILLISECONDS_A_HOUR
135135 break
136136 case 'd' :
137137 case 'days' :
138- step = Constant . SECONDS_A_DAY
138+ step = Constant . MILLISECONDS_A_DAY
139139 break
140140 case 'w' :
141141 case 'weeks' :
142- step = Constant . SECONDS_A_WEEK
142+ step = Constant . MILLISECONDS_A_WEEK
143143 break
144144 default : // s seconds
145- step = 1
145+ step = Constant . MILLISECONDS_A_SECOND
146146 }
147- const nextTimeStamp = this . unix ( ) + ( number * step )
148- return new Dayjs ( nextTimeStamp * 1000 )
147+ const nextTimeStamp = this . valueOf ( ) + ( number * step )
148+ return new Dayjs ( nextTimeStamp )
149149 }
150150
151151 subtract ( number , string ) {
@@ -195,10 +195,11 @@ class Dayjs {
195195
196196 diff ( otherDate , unit , float = false ) {
197197 const other = otherDate instanceof Dayjs ? otherDate : new Dayjs ( otherDate )
198- const returnFloat = result => ( float ? result : Math . ceil ( result ) )
198+ const returnFloat = result => ( result > 0 ? Math . floor ( result ) : Math . ceil ( result ) )
199+ const isReturnFloat = result => ( float ? result : returnFloat ( result ) )
199200 switch ( unit ) {
200201 case 'days' :
201- return returnFloat ( ( this . valueOf ( ) - other . valueOf ( ) ) / Constant . MILLISECONDS_A_DAY )
202+ return isReturnFloat ( ( this . valueOf ( ) - other . valueOf ( ) ) / Constant . MILLISECONDS_A_DAY )
202203 default :
203204 return this . valueOf ( ) - other . valueOf ( )
204205 }
0 commit comments