mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-24 13:58:00 -05:00
1.2 KiB
1.2 KiB
Time conversion utility
Why?
- There is no locale except C-Locale available in stdlib nano and we need time conversions.
- stdlibnano doesn't provide a way to sustitute C-Locale (it's static)
How?
There is C-Locale builtin, therefore it's used to convert time whenever possible.
When it's not -> specifiers are substituted with our locale (i18 map)
+------------+ +--------+
| Timestamp | <=> | Locale |
+------------+ +--------+
*
|
+------------+
| DateTime |
+------------+
* *
/ \
/ \
+------+ +------+
| Time | | Date |
+------+ +------+
Locale - (utils::time::Locale) class for i18n Timestamp internationalization management
Timestamp - general class to store time data. Init with a EPOCH timestamp. Has input and output formatters.
DateTime - class for most of possible usecases, initialized with system clock, can return time/date string in reference to past
Date - just a subclass with a default formatter returning the date in particular
Time - just a subclass with a default formatter returning the time, regardless of the date (today/yesterday/5 days ago)
For more see headers