View source code
Display the source code in std/datetime/date.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

std.datetime.date.DateTime.opBinary - multiple declarations

Function DateTime.opBinary

Gives the result of adding or subtracting a Duration from this DateTime.

DateTime opBinary(string op) (
  Duration duration
) const pure nothrow @nogc @safe
if (op == "+" || op == "-");

The legal types of arithmetic for DateTime using this operator are

DateTime + Duration --> DateTime
DateTime - Duration --> DateTime

Parameters

NameDescription
duration The Duration to add to or subtract from this DateTime.

Example

import core.time : hours, seconds;

assert(DateTime(2015, 12, 31, 23, 59, 59) + seconds(1) ==
       DateTime(2016, 1, 1, 0, 0, 0));

assert(DateTime(2015, 12, 31, 23, 59, 59) + hours(1) ==
       DateTime(2016, 1, 1, 0, 59, 59));

assert(DateTime(2016, 1, 1, 0, 0, 0) - seconds(1) ==
       DateTime(2015, 12, 31, 23, 59, 59));

assert(DateTime(2016, 1, 1, 0, 59, 59) - hours(1) ==
       DateTime(2015, 12, 31, 23, 59, 59));

Function DateTime.opBinary

Gives the difference between two DateTimes.

Duration opBinary(string op) (
  in DateTime rhs
) const pure nothrow @nogc @safe
if (op == "-");

The legal types of arithmetic for DateTime using this operator are

DateTime - DateTime --> duration

Authors

Jonathan M Davis

License

Boost License 1.0.