|
|
|
|
|
by inopinatus
1547 days ago
|
|
Alas, no. It's because ActiveSupport's duration arithmetic is not distributive under conversion. The expression on the left hand side advances time (as a domain object) by exactly a month, then converts the result to integer unix time. The expression on the right adds 2629746¹ to the current unix time. The conversion becomes dangerously magical in the presence of shared code that accepts both object and integer representations of time & duration. A consumer from one part of a system can inadvertently obtain different results to another unless they use identical calling conventions. [1] this is 1/12 of the mean length of a gregorian year² [2] 365.2425 days i.e. 31,556,952 seconds |
|