@@ -24,19 +24,22 @@ namespace fleece {
2424
2525 static constexpr int64_t kInvalidDate = INT64_MIN;
2626
27+ /*
28+ ** Components of a date that can be extracted, diffed, or added using date-time functions
29+ */
2730 typedef enum {
28- kDateComponentMillennium ,
29- kDateComponentCentury ,
30- kDateComponentDecade ,
31- kDateComponentYear ,
32- kDateComponentQuarter ,
33- kDateComponentMonth ,
34- kDateComponentWeek ,
35- kDateComponentDay ,
36- kDateComponentHour ,
37- kDateComponentMinute ,
38- kDateComponentSecond ,
39- kDateComponentMillisecond ,
31+ kDateComponentMillennium , /* 1000 years */
32+ kDateComponentCentury , /* 100 years */
33+ kDateComponentDecade , /* 10 years */
34+ kDateComponentYear , /* 146097 / 400 days */
35+ kDateComponentQuarter , /* 3 months */
36+ kDateComponentMonth , /* 1/12 years */
37+ kDateComponentWeek , /* 7 days */
38+ kDateComponentDay , /* 24 hours */
39+ kDateComponentHour , /* 60 minutes */
40+ kDateComponentMinute , /* 60 seconds */
41+ kDateComponentSecond , /* 1000 milliseconds */
42+ kDateComponentMillisecond , /* base unit */
4043 kDateComponentInvalid
4144 } DateComponent;
4245
@@ -56,12 +59,18 @@ namespace fleece {
5659 char validTZ; /* True (1) if tz is valid */
5760 };
5861
62+ /* * Parses a C string as an ISO-8601 date-time, returning a parsed DateTime struct */
5963 DateTime ParseISO8601DateRaw (const char * dateStr);
6064
65+ /* * Parses a C string as an ISO-8601 date-time, returning a parsed DateTime struct */
6166 DateTime ParseISO8601DateRaw (slice dateStr);
6267
68+ /* * Converts an existing DateTime struct into a timestamp (milliseconds since
69+ 1/1/1970) */
6370 int64_t ToMillis (DateTime& dt);
6471
72+ /* * Converts a timestamp (milliseconds since 1/1/1970) into a parsed DateTime struct
73+ in UTC time */
6574 DateTime FromMillis (int64_t millis);
6675
6776 /* * Parses a C string as an ISO-8601 date-time, returning a timestamp (milliseconds since
0 commit comments