mojombo / chronic

Chronic is a pure Ruby natural language date parser.
http://injekt.github.com/chronic
MIT License
3.23k stars 452 forks source link

Fix Daylight Savings parsing #396

Open stanhu opened 4 years ago

stanhu commented 4 years ago

Previously the offset change for Daylight Savings was unnecessarily added all the time, resulting in this discrepancy when the local time was set to UTC-7:

Time.parse('2020-11-01 00:00:00')
=> 2020-11-01 00:00:00 -0700
Chronic.parse('2020-11-01 00:00:00')
=> 2020-11-01 01:00:00 -0700

Each time we add an offset to a base time, we need to check whether this crosses Daylight Savings boundaries. Only if it does should we adjust the time by the offset.

Closes https://github.com/mojombo/chronic/issues/147

stanhu commented 4 years ago

@leejarvis Are you still maintaining this gem? If so, would you mind reviewing and pushing out an update? This bug causes a number of issues on gems that depend on it.

davispuh commented 4 years ago

@leejarvis Are you still maintaining this gem? If so, would you mind reviewing and pushing out an update? This bug causes a number of issues on gems that depend on it.

He haven't been checking this for years. My unpublished rewrite #347 doesn't have this specific issue.

leejarvis commented 4 years ago

I'm afraid I no longer have time to maintain Chronic. I'm more than open to adding more contributors if anyone is willing though