Skip to content
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

moment#within does not work with moment-timezone correctly #127

Closed
basicdays opened this issue Aug 9, 2016 · 2 comments
Closed

moment#within does not work with moment-timezone correctly #127

basicdays opened this issue Aug 9, 2016 · 2 comments
Milestone

Comments

@basicdays
Copy link

Hey all,

Just ran into a bug with moment-range and monent-timezone. With moment-timezone, it looks like it uses the internal moment#_d property to match what the timezone setting is for the moment instance. Calling moment#toDate() seems to produce the corrected Date instance without timezone altering.

However, moment#within seems to explicitly pass moment#_d to DateRange#contains, which is going to be the incorrect Date object, since it was altered by timezones. It seems making the following change both solves that problem and doesn't break any existing tests:

moment.fn.within = function(range) {
  return range.contains(this._d);
};

to

moment.fn.within = function(range) {
  return range.contains(this.toDate());
};

If this seems ok, I can submit a PR?

@gf3
Copy link
Contributor

gf3 commented Dec 8, 2016

excellent suggestion, this is addressed in the upcoming v3 release

@gf3 gf3 added the done-v3 label Dec 8, 2016
@gf3 gf3 modified the milestone: 3.0.0 Jan 9, 2017
gf3 added a commit that referenced this issue Jan 10, 2017
* Go full-blown ES6 via webpack/babel
* Flow typing
* Better documentation
* Remove bower
* Remove grunt in favour of webpack
* Remove jshint in favour of eslint
* Remove mocha/should in favour of karma/mocha/expect.js
* New usage:
    import Moment from 'moment';
    import { DateRange, extendMoment } from 'moment-js';
    const moment = extendMoment(Moment);
* Add `by`, `reverseBy`, `byRange`, `reverseByRange` (#68)
    - Pass options as object
    - New methods use iterators
    - Added reversal methods
    - Discrete methods for different iterator types
* Fix issue with `moment#within` and moment-timezone (#127)
* Pass optional rounded argument in `diff` (#104)
* Add ability to iterate over a range by a step (#93)
* Add `adjacent` method and option to `overlaps` (#92 #112)
* Update short-hand units (#134)
* Add `duration` as an alias of `diff` (#64)
* Update packaging rules and scripts
* Fix typo in comment (#133)
* Update documentation
* Add documentation about range creation (thanks @seanwendt)
@gf3
Copy link
Contributor

gf3 commented Jan 10, 2017

just opened a PR for 3.0.0 which incorporates these changes. feel free to leave feedback or raise any questions you may have. thanks again for your contributions

@gf3 gf3 closed this as completed Jan 10, 2017
gf3 added a commit that referenced this issue Jan 10, 2017
* Go full-blown ES6 via webpack/babel
* Flow typing
* Better documentation
* Remove bower
* Remove grunt in favour of webpack
* Remove jshint in favour of eslint
* Remove mocha/should in favour of karma/mocha/expect.js
* New usage:
    import Moment from 'moment';
    import { DateRange, extendMoment } from 'moment-js';
    const moment = extendMoment(Moment);
* Add `by`, `reverseBy`, `byRange`, `reverseByRange` (#68)
    - Pass options as object
    - New methods use iterators
    - Added reversal methods
    - Discrete methods for different iterator types
* Fix issue with `moment#within` and moment-timezone (#127)
* Pass optional rounded argument in `diff` (#104)
* Add ability to iterate over a range by a step (#93)
* Add `adjacent` method and option to `overlaps` (#92 #112)
* Update short-hand units (#134)
* Add `duration` as an alias of `diff` (#64)
* Update packaging rules and scripts
* Fix typo in comment (#133)
* Update documentation
* Add documentation about range creation (thanks @seanwendt)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants