Comments (5)
From the php ticket, diff() converts the DateTime objects to UTC before comparing.
This means any time zone change that causes a date change can affect the month calculation. Waiting to see if there is more discussion, but the only solution might be to "fake" the date in UTC before calling diff() to get a consistent result.
from chronos.
No. DST is not adopted in Japan. In addition, it happens even in winter season. For example:
date_default_timezone_set('Asia/Tokyo');
$from = new DateTime('2019-11-01');
$to = new DateTime('2019-12-01');
var_dump($from->diff($to)->m);
// int(0)
It seems like the timezone offset (+09:00 in Japan) is ignored in the diff method.
date_default_timezone_set('Asia/Tokyo');
$from = new DateTime('2019-11-01 09:00');
$to = new DateTime('2019-12-01 09:00');
var_dump($from->diff($to)->m);
// int(1)
from chronos.
I submitted a bug report. Hopefully, we get an answer on how diff() is calculated for different time zones.
https://bugs.php.net/bug.php?id=79452
from chronos.
Does this time range cross the DST boundary for Tokyo? If so you might be an hour short of four months.
from chronos.
Fixed in #283
from chronos.
Related Issues (20)
- Drop PHP 7.2? HOT 9
- Drop src/carbon_compat.php HOT 4
- Trim down the ChronosInterface's API HOT 8
- Chronos3: BC handling with native type/interface HOT 1
- ComparisonTrait::isSameDay() / ComparisonTrait::isSameMonth() HOT 2
- False Statement in 2.x Docs about Timezone Fixation HOT 2
- Hello, I would like to create a Java program for Windows 10 that has a button which, when clicked, starts a timer and that when it approaches minutes 10, 11, 12, and 13, opens a pop-up window with large text and an alarm sound. Can anyone help me with the code or point me in the right direction to get started? HOT 1
- Some deprecation warnings since 2.4.0 HOT 2
- Cannot construct a relative date that always points to the _next_ future date & time HOT 1
- [Question] Is there a way to have chronos properly validate the input against request format? HOT 4
- Missing Cake\Chronos\Date class HOT 3
- Reasoning around no longer extending native DateTimeImmutable HOT 14
- PHP Warning: Undefined array key "class" in /srv/www/vendor/cakephp/chronos/src/Traits/FrozenTimeTrait.php on line 166
- Method endOfDay disregarding microseconds HOT 2
- RFC - Changing default time values for Chronos::create() HOT 1
- Method toNative() has gone missing HOT 5
- 2.4.x: b/c break in Cake\Chronos\Date::create() HOT 1
- 2.4.x: addSecond() is deprecated. Use addSeconds() HOT 3
- ChronosInterval HOT 4
- 2.4.x: diffInWeekdays() is 1 for same day HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chronos.