The powerful library for display and convert calendar and handle the date units.
This library will be release for C / C++.
- Convert calendar units and dates.
- Display the current date.
- Convert date to string date, alphabet.
- Detecting the day of the date.
- string display(dateDisplayType type)
- string format(string format)
- date convert(dateType target)
date _date=Date(Date_Gregorian, 2019, 3, 4);
print( _date.format("Date is %y/%m/%d.\n") );| Constant | Description |
|---|---|
| DATE_GREGORIAN | Gregorian calendar |
| DATE_JALALI | Jalali calendar |
| DATE_LUNAR | Lunar calendar |
| Constant | Description | Sample Output |
|---|---|---|
| DATE_ATOM | Atom | 2013-04-12T15:52:01+00:00 |
| DATE_COOKIE | HTTP Cookies | Friday, 12-Apr-13 15:52:01 UTC |
| DATE_RSS | RSS | Fri, 12 Aug 2013 15:52:01 +0000 |
| DATE_ISO8601 | ISO-8601 | 2013-04-12T15:52:01+0000 |
| DATE_W3C | World Wide Web Consortium | 2013-04-12T15:52:01+00:00 |
| DATE_RFC822 | RFC 822 | Fri, 12 Apr 13 15:52:01 +0000 |
| DATE_RFC850 | RFC 850 | Friday, 12-Apr-13 15:52:01 UTC |
| DATE_RFC1036 | RFC 1036 | Fri, 12 Apr 13 15:52:01 +0000 |
| DATE_RFC1123 | RFC 1123 | Fri, 12 Apr 2013 15:52:01 +0000 |
| DATE_RFC2822 | RFC 2822 | Fri, 12 Apr 2013 15:52:01 +0000 |
| DATE_RFC3339 | Same as DATE_ATOM | 2013-04-12T15:52:01+00:00 |
| Constant | Description |
|---|---|
| %d | The day of the month (from 01 to 31) |
| %D | A textual representation of a day (three letters) |
| %j | The day of the month without leading zeros (1 to 31) |
| %l (lowercase 'L') | A full textual representation of a day |
| %N | The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday) |
| %S | The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j) |
| %w | A numeric representation of the day (0 for Sunday, 6 for Saturday) |
| %z | The day of the year (from 0 through 365) |
| %W | The ISO-8601 week number of year (weeks starting on Monday) |
| %F | A full textual representation of a month (January through December) |
| %m | A numeric representation of a month (from 01 to 12) |
| %M | A short textual representation of a month (three letters) |
| %n | A numeric representation of a month, without leading zeros (1 to 12) |
| %t | The number of days in the given month |
| %L | Whether it's a leap year (1 if it is a leap year, 0 otherwise) |
| %o | The ISO-8601 year number |
| %Y | A four digit representation of a year |
| %y | A two digit representation of a year |
| %a | Lowercase am or pm |
| %A | Uppercase AM or PM |
| %B | Swatch Internet time (000 to 999) |
| %g | 12-hour format of an hour (1 to 12) |
| %G | 24-hour format of an hour (0 to 23) |
| %h | 12-hour format of an hour (01 to 12) |
| %H | 24-hour format of an hour (00 to 23) |
| %i | Minutes with leading zeros (00 to 59) |
| %s | Seconds, with leading zeros (00 to 59) |
| %u | Microseconds |
| %e | The timezone identifier (Examples: UTC, GMT, Atlantic/Azores) |
| %I (capital i) | Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise) |
| %O | Difference to Greenwich time (GMT) in hours (Example: +0100) |
| %P | Difference to Greenwich time (GMT) in hours:minutes |
| %T | Timezone abbreviations (Examples: EST, MDT) |
| %Z | Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400) |
| %c | The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00) |
| %r | The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200) |
| %U | The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) |
| Name | Type | Group |
|---|---|---|
| Gregorian calendar | ||
| Jalali calendar | Solar | Iranian |
| Lunar calendar |
View the full list at here.
According to Kambiz Asadzadeh, a CPP activist, there is a shortage of library for management and control over calendar and date, and the design of such a library can help a lot of developers in the world.
Given that I recently had a project for a company close to this, it was suggested to me to write such a library.
The developers are invited to develop this libraries in other languages such as Go, Rust, ...
CalendarLibrary is licensed under the GNU General Public License.