mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-07-04 13:17:08 -04:00
39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
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
|