On 28/12/13 14:58, Jakob Ovrum wrote:
How would it fail? std.datetime does a good job with leap years AFAIK.
Try the attached code. The largest value of DateTime(2012, 1, 1) + dur!"days"(5 * n) that is less than DateTime(2013, 1, 1) is _not_ DateTime(2013, 1, 1) - dur!"days"(5). :-)
import std.datetime, std.stdio; void main() { DateTime d; for (d = DateTime(2012, 1, 1); d < DateTime(2013, 1, 1); d += dur!"days"(5)) { writeln(d); } writeln(); writeln(DateTime(2013, 1, 1) - dur!"days"(5)); }