mirror of
https://github.com/HowardHinnant/date.git
synced 2024-12-27 00:14:07 +08:00
Cleanup and add to README.md
This commit is contained in:
parent
f105595f04
commit
fffa52ac0e
37
README.md
37
README.md
@ -1,41 +1,58 @@
|
|||||||
|
# Date
|
||||||
|
|
||||||
[![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)
|
[![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/>
|
|
||||||
|
---
|
||||||
|
|
||||||
**[Try it out on wandbox!](https://wandbox.org/permlink/vqwMyTphHJv5iXX7)**
|
**[Try it out on wandbox!](https://wandbox.org/permlink/vqwMyTphHJv5iXX7)**
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
This is actually several separate C++11/C++14/C++17 libraries:
|
This is actually several separate C++11/C++14/C++17 libraries:
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
* Documentation: http://howardhinnant.github.io/date/date.html
|
* Documentation: http://howardhinnant.github.io/date/date.html
|
||||||
* Video: https://www.youtube.com/watch?v=tzyGjOm8AKo
|
* Video: https://www.youtube.com/watch?v=tzyGjOm8AKo
|
||||||
* Slides: http://schd.ws/hosted_files/cppcon2015/43/hinnant_dates.pdf
|
* Slides: http://schd.ws/hosted_files/cppcon2015/43/hinnant_dates.pdf
|
||||||
|
|
||||||
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.
|
1. `"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.
|
||||||
|
|
||||||
* Documentation: http://howardhinnant.github.io/date/tz.html
|
* Documentation: http://howardhinnant.github.io/date/tz.html
|
||||||
* Video: https://www.youtube.com/watch?v=Vwd3pduVGKY
|
* 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
|
* Slides: http://schd.ws/hosted_files/cppcon2016/0f/Welcome%20To%20The%20Time%20Zone%20-%20Howard%20Hinnant%20-%20CppCon%202016.pdf
|
||||||
|
|
||||||
3. `"iso_week.h"` is a header-only library built on top of the `"date.h"` library which implements the ISO week date calendar.
|
1. `"iso_week.h"` is a header-only library built on top of the `"date.h"` library which implements the ISO week date calendar.
|
||||||
|
|
||||||
* Documentation: http://howardhinnant.github.io/date/iso_week.html
|
* Documentation: http://howardhinnant.github.io/date/iso_week.html
|
||||||
|
|
||||||
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.
|
1. `"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.
|
||||||
|
|
||||||
* Documentation: http://howardhinnant.github.io/date/julian.html
|
* Documentation: http://howardhinnant.github.io/date/julian.html
|
||||||
|
|
||||||
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.
|
1. `"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.
|
||||||
|
|
||||||
* Documentation: http://howardhinnant.github.io/date/islamic.html
|
* Documentation: http://howardhinnant.github.io/date/islamic.html
|
||||||
|
|
||||||
|
## Standardization
|
||||||
|
|
||||||
Slightly modified versions of `"date.h"` and `"tz.h"` were voted into the C++20 working draft at the Jacksonville FL meeting on 2018-03-17:
|
Slightly modified versions of `"date.h"` and `"tz.h"` were voted into the C++20 working draft at the Jacksonville FL meeting on 2018-03-17:
|
||||||
|
|
||||||
* http://howardhinnant.github.io/date/d0355r7.html
|
* http://howardhinnant.github.io/date/d0355r7.html
|
||||||
|
|
||||||
List of projects using this library:
|
## Build & Test
|
||||||
|
|
||||||
* www.safe.com
|
You will need [CMake](https://cmake.org/) and a recent C++ compiler. Here follows a guide of how to build and test using the CMake Makefile generator.
|
||||||
* www.webtoolkit.eu/wt
|
|
||||||
|
```bash
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ../
|
||||||
|
cmake --build . --target testit # Consider '-- -j4' for multithreading
|
||||||
|
```
|
||||||
|
## 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.
|
If you would like your project (or product) on this list, just let me know.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user