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));
}
