3 ms·
> I’d argue though, that without context, a date has the time 00:00 in your local time zone I'd argue that without context a Date cannot have any time inferred
by potatolicious 5y ago
> I’d argue though, that without context, a date has the time 00:00 in your local time zone
I'd argue that without context a Date cannot have any time inferred. In the programming context it should be treated as a programming error and comparisons should fail to compile unless additional context is given.
A lot of the confusion here seems to stem from how we traditionally store dates (seconds/millis after a reference point in time), and over time we've confused the predominant way in which the data is represented from what the data actually is intended to mean.
let date1 = Date("06/05/2022")
let date2 = DateTime("06/05/2022 20:05 UTC")
if date2 > date1 {
// SHOULD NOT COMPILE
}
let date3 = Date("06/05/2022").withTime("05:00 UTC")
if date2 > date3 {
// DOES COMPILE
}
Injecting context automatically without the intentional action/declaration of the programmer is where a billion bugs are born.