-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix startOf/endOf behavior with timezone #1229
Conversation
…rtOf/endOf and then reapply it after calculating
Codecov Report
@@ Coverage Diff @@
## dev #1229 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 174 174
Lines 1653 1664 +11
Branches 374 378 +4
=========================================
+ Hits 1653 1664 +11
Continue to review full report at Codecov.
|
Thanks @nbudin for fixing this. |
nice catch |
## [1.9.7](v1.9.6...v1.9.7) (2020-12-05) ### Bug Fixes * add duration.format to format a Duration ([#1202](#1202)) ([9a859a1](9a859a1)) * Add function handling for relativeTime.future and relativeTime.past ([#1197](#1197)) ([ef1979c](ef1979c)) * avoid install installed plugin ([#1214](#1214)) ([a92eb6c](a92eb6c)) * avoid memory leak after installing a plugin too many times ([b8d2e32](b8d2e32)) * fix diff bug when UTC plugin enabled ([#1201](#1201)) ([9544ed2](9544ed2)), closes [#1200](#1200) * fix startOf/endOf bug in timezone plugin ([#1229](#1229)) ([eb5fbc4](eb5fbc4)) * fix utc plugin diff edge case ([#1187](#1187)) ([971b3d4](971b3d4)) * update customParseFormat plugin to parse 2-digit offset ([#1209](#1209)) ([b56936a](b56936a)), closes [#1205](#1205) * Update timezone plugin type definition ([#1221](#1221)) ([34cfb92](34cfb92))
🎉 This PR is included in version 1.9.7 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [1.9.7](iamkun/dayjs@v1.9.6...v1.9.7) (2020-12-05) ### Bug Fixes * add duration.format to format a Duration ([#1202](iamkun/dayjs#1202)) ([9a859a1](iamkun/dayjs@9a859a1)) * Add function handling for relativeTime.future and relativeTime.past ([#1197](iamkun/dayjs#1197)) ([ef1979c](iamkun/dayjs@ef1979c)) * avoid install installed plugin ([#1214](iamkun/dayjs#1214)) ([a92eb6c](iamkun/dayjs@a92eb6c)) * avoid memory leak after installing a plugin too many times ([b8d2e32](iamkun/dayjs@b8d2e32)) * fix diff bug when UTC plugin enabled ([#1201](iamkun/dayjs#1201)) ([9544ed2](iamkun/dayjs@9544ed2)), closes [#1200](iamkun/dayjs#1200) * fix startOf/endOf bug in timezone plugin ([#1229](iamkun/dayjs#1229)) ([eb5fbc4](iamkun/dayjs@eb5fbc4)) * fix utc plugin diff edge case ([#1187](iamkun/dayjs#1187)) ([971b3d4](iamkun/dayjs@971b3d4)) * update customParseFormat plugin to parse 2-digit offset ([#1209](iamkun/dayjs#1209)) ([b56936a](iamkun/dayjs@b56936a)), closes [#1205](iamkun/dayjs#1205) * Update timezone plugin type definition ([#1221](iamkun/dayjs#1221)) ([34cfb92](iamkun/dayjs@34cfb92))
## [1.9.7](iamkun/dayjs@v1.9.6...v1.9.7) (2020-12-05) ### Bug Fixes * add duration.format to format a Duration ([#1202](iamkun/dayjs#1202)) ([9a859a1](iamkun/dayjs@9a859a1)) * Add function handling for relativeTime.future and relativeTime.past ([#1197](iamkun/dayjs#1197)) ([ef1979c](iamkun/dayjs@ef1979c)) * avoid install installed plugin ([#1214](iamkun/dayjs#1214)) ([a92eb6c](iamkun/dayjs@a92eb6c)) * avoid memory leak after installing a plugin too many times ([b8d2e32](iamkun/dayjs@b8d2e32)) * fix diff bug when UTC plugin enabled ([#1201](iamkun/dayjs#1201)) ([9544ed2](iamkun/dayjs@9544ed2)), closes [#1200](iamkun/dayjs#1200) * fix startOf/endOf bug in timezone plugin ([#1229](iamkun/dayjs#1229)) ([eb5fbc4](iamkun/dayjs@eb5fbc4)) * fix utc plugin diff edge case ([#1187](iamkun/dayjs#1187)) ([971b3d4](iamkun/dayjs@971b3d4)) * update customParseFormat plugin to parse 2-digit offset ([#1209](iamkun/dayjs#1209)) ([b56936a](iamkun/dayjs@b56936a)), closes [#1205](iamkun/dayjs#1205) * Update timezone plugin type definition ([#1221](iamkun/dayjs#1221)) ([34cfb92](iamkun/dayjs@34cfb92))
## [1.9.7](iamkun/dayjs@v1.9.6...v1.9.7) (2020-12-05) ### Bug Fixes * add duration.format to format a Duration ([#1202](iamkun/dayjs#1202)) ([9a859a1](iamkun/dayjs@9a859a1)) * Add function handling for relativeTime.future and relativeTime.past ([#1197](iamkun/dayjs#1197)) ([ef1979c](iamkun/dayjs@ef1979c)) * avoid install installed plugin ([#1214](iamkun/dayjs#1214)) ([a92eb6c](iamkun/dayjs@a92eb6c)) * avoid memory leak after installing a plugin too many times ([b8d2e32](iamkun/dayjs@b8d2e32)) * fix diff bug when UTC plugin enabled ([#1201](iamkun/dayjs#1201)) ([9544ed2](iamkun/dayjs@9544ed2)), closes [#1200](iamkun/dayjs#1200) * fix startOf/endOf bug in timezone plugin ([#1229](iamkun/dayjs#1229)) ([eb5fbc4](iamkun/dayjs@eb5fbc4)) * fix utc plugin diff edge case ([#1187](iamkun/dayjs#1187)) ([971b3d4](iamkun/dayjs@971b3d4)) * update customParseFormat plugin to parse 2-digit offset ([#1209](iamkun/dayjs#1209)) ([b56936a](iamkun/dayjs@b56936a)), closes [#1205](iamkun/dayjs#1205) * Update timezone plugin type definition ([#1221](iamkun/dayjs#1221)) ([34cfb92](iamkun/dayjs@34cfb92))
This fixes #1212. Because the timezone plugin stores a
$d
value that's relative to the timezone of the dayjs instance,startOf
andendOf
need to ignore the absolute$d
value and instead use the logical value in that time zone.This overrides
startOf
to ignore the timezone of the instance, calculate thestartOf
value, then reapply the timezone while keeping local time. This should also fix the behavior forendOf
since it is actually callingstartOf
internally.