7bed9cd38c
Remove TODOs about parsing/printing custom formats
...
It makes likely more sense to implement that entirely in user code. The
parsing/printing functions for common formats have also been improved so
this is likely not very relevant anymore anyways.
2023-11-23 20:24:44 +01:00
5acf422f71
Add useful operators to DateTimeExpression
...
* Add serialization back to string, useful for implementing
`TagValue::toString()`
* Add equality comparition
2022-08-13 14:10:40 +02:00
3a06641bb9
Improve docs for DateTimeExpression
2022-08-13 14:07:57 +02:00
f20d596785
Add DateTimeExpression
to keep track of parsed timestamp parts
...
The existing timestamp parsers already internally keep track what parts
have been parsed via an index variable. This change exposes this
information as it can sometimes be useful to know what parts were actually
present in the timestamp.
2022-08-12 20:45:06 +02:00
77c353fb6c
Add TickType
and integer overloads to chrono utilities
2022-02-15 23:01:25 +01:00
6c7e8ae735
Avoid warning about out of bounds array access
2021-12-11 23:58:51 +01:00
b3ebe5ce38
Fix typos found via codespell --skip .git -w
2021-07-03 19:07:49 +02:00
e6e7a63d6a
Make DateTime::fromString() cope with 'T' separator
2021-05-24 21:27:47 +02:00
a116c9e790
Avoid possibility of overflow in DateTime parsing functions
...
* This is strictly undefined behavior so let's avoid it
* As a side-effect it is now possible to omit the separators in
DateTime::fromIsoString()
2021-05-24 21:27:18 +02:00
546b1fecb7
Fix parsing ISO timestamp with negative timezone offset and no seconds fraction
...
See https://github.com/Martchus/syncthingtray/issues/93
2021-05-21 19:40:37 +02:00
8c033ca243
Fix warnings
2021-03-20 21:56:45 +01:00
32780ed6a6
Support formatting ISO timestamps via DateTime::toString() with option to omit defaults
...
Omitting components are also allowed when parsing ISO timestamps so it makes sense to
have something similar in the other direction as well.
Note that the idea comes from ID3v2.4.0 which stores timestamps in a subset of ISO 8601
similarily to what this library supports and it allows to omit default components as
well.
2020-04-26 21:38:02 +02:00
c834f8923d
Allow omitting month and day when parsing ISO date
...
This leaves only the year as mandatory component (other components
can already be omitted).
2020-04-24 22:15:49 +02:00
34170b83f1
Apply clang-format
2020-04-13 01:10:33 +02:00
4b67736adf
Add DateTime::toIsoStringWithCustomDelimiters()
2020-04-11 21:51:52 +02:00
085ec2feca
Improve DateTime
...
* Improve documentation about time zone handling
* Add DateTime::toTimeStamp()
* Add experimental DateTime::fromChronoTimePoint()
and DateTime::fromChronoTimePointGmt()
2019-11-17 22:30:51 +01:00
0feb7d667e
Add inline/constexpr to more functions in chrono lib
2019-08-19 19:09:19 +02:00
b48b2f5c06
Have everything in one top-level namespace
2019-06-10 21:56:46 +02:00
9a50d2b8df
Remove types
2019-04-13 20:33:39 +02:00
8b919250e3
chrono utils: Make public constants signed
2019-04-13 20:33:39 +02:00
98edb5a67c
Allow omitting second fraction in DateTime::fromIsoString
2018-11-01 20:20:32 +01:00
2862c81a23
Fix ISO date string parsing/formatting
2018-01-29 16:24:39 +01:00
400e73005a
Fix use of std::time
2018-01-28 18:03:58 +01:00
a89f6f9ce4
Improve documentation of chrono library
2017-12-03 01:45:11 +01:00
d7185fc1bc
Improve documentation
2017-11-29 19:11:01 +01:00
1ab9349eaa
Improve const correctness
2017-11-29 19:08:22 +01:00
49d626702c
Fix implicit sign conversion
2017-09-22 00:23:02 +02:00
357ede4ee7
chrono utils: Improve handling micro- and nanoseconds
...
DateTime and TimeSpan have an accuracy of 100 nanoseconds.
This commit ensures this is also handled in toString() and
fromString() methods and adds relevant convenience methods.
2017-08-31 02:17:05 +02:00
b69d4a8b65
Disable DateTime::exactGmtNow() under MacOS
...
`clock_gettime(CLOCK_REALTIME, &t);` does not seem to
be available under MacOS
2017-07-29 00:32:19 +02:00
3bc9a7b07a
Fix handling negative time spans
2017-06-25 16:00:11 +02:00
59e20b1043
Apply clang-format
2017-05-01 03:13:11 +02:00
5679460302
Simplify DateTime::fromTimeStampGmt()
2017-04-19 21:50:21 +02:00
452954dc1f
Add DateTime::exactGmtNow()
...
* Provides more precise wall-clock time
* Only available under UNIX so far
2017-04-19 21:48:23 +02:00
c4d73b0d7d
Use C++14 string literal
2017-02-06 18:32:27 +01:00
33d368397f
Make use of newly introduced string builder
2017-01-27 18:51:54 +01:00
31be0c24ea
Add DateTime::fromIsoString{Gmt,Local}
2016-09-01 15:42:25 +02:00
12588c6928
Improve chrono utils
...
- Support parsing/generating ISO time stamp with
time zone delta
- Fix minor bugs
- Improve tests
2016-08-30 19:59:04 +02:00
76e422a7ce
Make DateTime::now() and DateTime::gmtNow() inline
2016-05-23 00:04:06 +02:00
2e6a8dc6a8
added DateTime::gmtNow()
2016-02-15 20:29:52 +01:00
df9c0573bf
preserve ABI
2016-01-29 01:13:11 +01:00
3c9f95059e
added DateTime::fromTimeStampGmt()
2016-01-27 00:14:20 +01:00
a8f7644350
minor adjustments
2016-01-18 23:41:30 +01:00
9f4d1daacf
fixed DateTime::now()
2015-09-22 22:52:43 +02:00
4d6bf67188
fixed includes
2015-09-06 20:19:09 +02:00
603dbf823a
fixed includes
2015-09-06 15:30:16 +02:00
8c09772802
added new method to construct DateTime instance from timestamp
2015-06-21 21:41:56 +02:00
6cd3315910
small adjustments
2015-05-17 17:18:07 +02:00
24ba96a17f
First commit
2015-04-22 18:36:40 +02:00