Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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 a local clone.

# std.datetime

Phobos provides the following functionality for time:

Functionality | Symbols
--- | ---
Points in Time | Date TimeOfDay DateTime SysTime
Timezones | TimeZone UTC LocalTime PosixTimeZone WindowsTimeZone SimpleTimeZone
Intervals and Ranges of Time | Interval PosInfInterval NegInfInterval
Durations of Time | Duration weeks days hours minutes seconds msecs usecs hnsecs nsecs
Time Measurement and Benchmarking | MonoTime StopWatch benchmark

This functionality is separated into the following modules

- std.datetime.date for points in time without timezones.
- std.datetime.timezone for classes which represent timezones.
- std.datetime.systime for a point in time with a timezone.
- std.datetime.interval for types which represent series of points in time.
- std.datetime.stopwatch for measuring time.

See Also:
Introduction to std.datetime
ISO 8601
Wikipedia entry on TZ Database
List of Time Zones
License:
Boost License 1.0.
Authors:
Jonathan M Davis and Kato Shoichi

Source std/datetime/package.d

Examples:
Get the current time from the system clock

    import std.datetime.systime : SysTime, Clock;

    SysTime currentTime = Clock.currTime();

Examples:
Construct a specific point in time without timezone information and get its ISO string.

    import std.datetime.date : DateTime;

    auto dt = DateTime(2018, 1, 1, 12, 30, 10);
    writeln(dt.toISOString()); // "20180101T123010"
    writeln(dt.toISOExtString()); // "2018-01-01T12:30:10"

Examples:
Construct a specific point in time in the UTC timezone and add two days.

    import std.datetime.systime : SysTime;
    import std.datetime.timezone : UTC;
    import core.time : days;

    auto st = SysTime(DateTime(2018, 1, 1, 12, 30, 10), UTC());
    writeln(st.toISOExtString()); // "2018-01-01T12:30:10Z"
    st += 2.days;
    writeln(st.toISOExtString()); // "2018-01-03T12:30:10Z"

Copyright © 1999-2022 by the D Language Foundation | Page generated by Ddoc on Thu Dec 15 17:30:53 2022