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
Specify whether pitches are lit
Survey whether benches have backrests
Specify what can be recycled in recycling containers
Specify type of recycling amenities
Survey postbox collection times
Determine whether any glass or just glass bottles can be recycled here
Specify whether bicycles can be charged at charging stations
Specify whether pedestrian crossings have islands
Specify whether pedestrian crossings have traffic signals
Specify parking types
Specify bicycle parking types
Add whether public transport stops are lit
Specify whether public transport stops have tactile paving
Determine the heights of kerbs at crossings
Specify whether roads have lane markings
Specify whether there are cycleways
Specify bollard types
Determine the heights of kerbs
Specify whether kerbs have tactile paving
Specify bicycle parkings covers
Survey if places still exist
Specify road surfaces
Specify whether crosswalks have tactile paving
Specify street/place names to addresses
Specify whether steps have a ramp

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