What should 'tomorrow' be?
As you might know, I'm reimplementing PHP's date/time routines. At the moment PHP doesn't handle this well I think. But what should PHP's strtotime() do with "tomorrow". Always 24 hours which will make "2005-10-29 02:00am tomorrow" show "2005-10-30 01:00am" because time changes back to non-DST that day... but when it should always exactly a day "2005-04-02 02:30am tomorrow" does not exist although "2005-10-29 02:00am tomorrow" will then correctly show "2005-10-30 02:00am"... what is your opinion on this?
Comments
I guess I'm predudiced since I live in a country that doesnt have DST ;)
But the templation would be to ignore DST, in everything, except: $date->toStringLocale('%Y %d %h'); $date->parseWithLocale('12/....');
But I suspect it's not a simple as that...
Personally, I assume that when you ask for 'tomorrow,' what you'll get back is a date, not date-time. But maybe I'm the only one.
I think that it should return tomorrows date at midnight rather than saying date + 24 hours. If I remember correctly to my perl days Date::Manip worked that way which was quite useful.
I agree with Jacques - if yo always get a date at midnight, the results are much more predictable (an thus easier to work with). It also goes in the direction that Ryan mentioned about only getting back a date.
Hi Derick!
I guess this case is pretty rare (it's just 2 hours per year, that get lost), therefore, I'd suggest to move to 3:00 when the time between 2 and 3 does not exist.
Another possibility would be to make it configurable how to deal with the DST switch times (eg. "move to next hour", "move to last hour", "error",...).
Regards, Toby
Life Line
Updated an information and a bench
Created 2 benches
Created 4 picnic_tables, a bench, and a fitness_station; Updated a pub and a sport club
Created 2 benches and 2 waste_baskets; Updated 4 benches, a bus_stop, and a cafe; Confirmed a dentist
Created 3 waste_baskets, 2 main entrances, and a bench; Deleted a cycle_barrier, a bench, and a waste_basket
Created an information; Updated a waste_basket and a bench
Updated 2 waste_baskets and a bench
Created 3 benches
Created a waste_basket; Updated 2 benches and a tree
I walked 3.5km in 35m31s
Created a main entrance and a home entrance
Created an entrance
Updated a house building
Created an entrance
I walked 5.8km in 1h15m06s
I've just finished reading "A Cheese-Monger's Tour de France", by Ned Palmer.
Now I want to try many of those! 🧀
I'm thrilled to announce that I'll be speaking at the 23rd edition of #phpday, the international PHP conference in Italy, organised by @grusp.
I’ll be presenting a talk titled: "Better Debugging With Xdebug".
It's in Verona, Italy, on May 14-15th 2026.
You can use my speaker’s discount code "speaker_10OFF" for 10% off at https://www.phpday.it/tickets/?utm_medium=organic&utm_source=linkedin&utm_campaign=post-speaker
I walked 5.5km in 1h11m00s
I walked 1.1km in 9m37s
Merged pull request #1066
PHP 8.6: Changes to opcache optimisations wrt function arguments
I walked 10.5km in 1h49m54s
Fixed building type
Fixed addresses and building type
Updated a bus_stop, a waste_basket, and a bench


Shortlink
This article has a short URL available: https://drck.me/wstb-3yu