date/README.md

44 lines
2.6 KiB
Markdown
Raw Normal View History

2016-06-08 22:19:44 -04:00
[![Join the chat at https://gitter.im/HowardHinnant/date](https://badges.gitter.im/HowardHinnant/date.svg)](https://gitter.im/HowardHinnant/date?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
<hr/>
2017-03-21 10:41:05 -04:00
2017-10-03 18:11:57 -04:00
**[Try it out on wandbox!](https://wandbox.org/permlink/89NAwx7m3FtqFSJO)**
2016-09-07 20:40:45 -04:00
2016-06-26 18:49:13 -04:00
This is actually several separate C++11/C++14 libraries:
2015-08-05 21:27:20 -04:00
2017-05-31 20:49:51 -04:00
1. `"date.h"` is a header-only library which builds upon `<chrono>`. It adds some new `duration` types, and new `time_point` types. It also adds "field" types such as `year_month_day` which is a struct `{year, month, day}`. And it provides convenient means to convert between the "field" types and the `time_point` types.
2015-08-05 21:27:20 -04:00
2017-05-31 20:49:51 -04:00
* Documentation: http://howardhinnant.github.io/date/date.html
* Video: https://www.youtube.com/watch?v=tzyGjOm8AKo
* Slides: http://schd.ws/hosted_files/cppcon2015/43/hinnant_dates.pdf
2016-01-13 17:44:36 -05:00
2017-05-31 20:49:51 -04:00
2. `"tz.h"` / `"tz.cpp"` are a timezone library built on top of the `"date.h"` library. This timezone library is a complete parser of the IANA timezone database. It provides for an easy way to access all of the data in this database, using the types from `"date.h"` and `<chrono>`. The IANA database also includes data on leap seconds, and this library provides utilities to compute with that information as well.
2015-09-28 19:38:13 -04:00
2017-05-31 20:49:51 -04:00
* Documentation: http://howardhinnant.github.io/date/tz.html
* Video: https://www.youtube.com/watch?v=Vwd3pduVGKY
* Slides: http://schd.ws/hosted_files/cppcon2016/0f/Welcome%20To%20The%20Time%20Zone%20-%20Howard%20Hinnant%20-%20CppCon%202016.pdf
2015-12-23 13:20:48 -05:00
2017-05-31 20:49:51 -04:00
3. `"iso_week.h"` is a header-only library built on top of the `"date.h"` library which implements the ISO week date calendar.
2016-10-05 17:22:42 -04:00
2017-05-31 20:49:51 -04:00
* Documentation: http://howardhinnant.github.io/date/iso_week.html
2016-08-11 15:53:23 -04:00
2017-05-31 20:49:51 -04:00
4. `"julian.h"` is a header-only library built on top of the `"date.h"` library which implements a proleptic Julian calendar which is fully interoperable with everything above.
2016-05-21 10:58:55 -04:00
2017-05-31 20:49:51 -04:00
* Documentation: http://howardhinnant.github.io/date/julian.html
2016-06-26 18:49:13 -04:00
2017-05-31 20:49:51 -04:00
5. `"islamic.h"` is a header-only library built on top of the `"date.h"` library which implements a proleptic Islamic calendar which is fully interoperable with everything above.
2016-07-04 16:32:13 -04:00
2017-05-31 20:49:51 -04:00
* Documentation: http://howardhinnant.github.io/date/islamic.html
2016-06-03 11:28:30 -04:00
`"date.h"` and `"tz.h"` are now being proposed for standardization:
2017-04-23 12:48:06 -04:00
2017-06-27 22:22:58 -04:00
* Current proposal: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0355r3.html
2017-04-23 12:48:06 -04:00
2017-06-27 22:22:58 -04:00
* Revision 4 draft: http://howardhinnant.github.io/date/d0355r4.html
List of projects using this library:
* www.safe.com
* www.webtoolkit.eu/wt
If you would like your project (or product) on this list, just let me know.