Files
MuditaOS/module-utils/time/README.md

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