Unix Epoch and PHP's calendar system
I just saw a commit flying past as a response to PHP bug #50155. While right now it is proper to define the Unix Epoch at "1970-01-01 00:00:00 UTC", UTC wasn't actually defined until 1972. So it would be more correct to define the Unix Epoch as "the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds." (from Wikipedia). What the bit "not counting leap seconds" means, I've already explained before in Leap Seconds and What To Do With Them.
Similarly, PHP's internal calendar is the ISO 8601 calendar. This is a modification of the proleptic Gregorian calendar. The Gregorian calendar implements the current set of leap years every 4 years, but not every 100 years, but again every 400 years (to get to an average year length of 365.2425 days). Obviously this calendar is only in use since 1582 (some countries adopted it as late as the 1900s), so using days like 1066-10-14 in the Gregorian calendar makes little sense because that calendar didn't exist back then. Now, PHP's ISO 8601-based calendar even modifies the Gregorian calendar by including the year 0. The Gregorian calendar goes straight from -1 to 1 which is a pain to do proper date calculations with. Therefore the ISO 8601 calendar uses Astronomical year numbering.
Life Line
Merge branch 'xdebug_3_5'
Merged pull request #1111
Disable 'declaration after statement' warning in zend_smart_string.h,…
Specify bicycle parkings covers
Specify street/place names to addresses
Survey housenumbers
Specify whether crosswalks have tactile paving
Specify whether roads have sidewalks
Determine whether ATM allows depositing cash
Survey if places still exist
Survey if places still exist
Specify access to places
Specify whether steps have handrails
Specify width of opening
Specify parking types
Specify whether public transport stops have tactile paving
Survey opening hours
Specify step counts
Survey tactile paving on steps
Specify whether steps have a ramp
Specify which way leads up for steps
Specify path surfaces
Specify whether there are cycleways
Created an entrance
Created a bicycle_parking

Shortlink
This article has a short URL available: https://drck.me/ueapcs-7aw