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

Reply via email to