Implementation of decimal time and French Republican calendar.
Project description
metric-time
Implementation of decimal time and French Republican calendar.
During the French Revolution, attempts were made decimalise various measuring methods including time and calendars. Two things arose from this movement: The french Republican calendar and Decimal calendar.
French Republic calendar
The French Republic calendar calendar consists of 12 months, each with exactly 30 days. Each week (décade) had 10 days. Years are counted in relation to the year 1792. The year usually begins on the 22nd of September. The calendar was introduced in 1793 and abolished in 1805
Decimal time
A decimal clock consists of 10 hours, each containing 100 minutes with 100 seconds. This means that the definition of the second has to be changed to 1 decimal second = 0.864 normal seconds. It was introduced in 1794 and suspended in 1795.
Installation
Pip
$ pip install metric-time
Git clone
$ git clone https://github.com/lakhanmankani/metric-time.git
Usage
$ metric-time
$ python3 metric_time.py
or as a Python API
>>> import metric_time
>>> import datetime
>>> import pytz.reference
>>> decimal_time = metric_time.DecimalTime()
>>> decimal_time.now()
"08:02:88.543" # Time in format hours:minutes:seconds.milliseconds
>>> republican_calendar = metric_time.RepublicanCalendar()
>>> republican_calendar.now()
"Décadi 10 Messidor 226" # Date in format day date month year
Convert from normal date time to metric
>>> decimal_time.decimal_time(datetime.datetime(year=2018, month=6, day=28, hour=13, minute=50, second=30))
"05:76:73.611" # Time in format hours:minutes:seconds.milliseconds
>>> republican_calendar.republican_date(datetime.datetime(year=2020, month=5, day=20, tzinfo=pytz.reference.LocalTimezone()))
"Duodi 2 Prairial 228" # Date in format day date month year
Access time components
>>> now_time = decimal_time.now()
>>> now_time.hours
8
>>> now_time.minutes
2
>>> now_time.seconds
88
>>> now_time.milliseconds
543
Access date components
>>> now_date = republican_calendar.now()
>>> now_date.year
226.91780821917808
>>> now_date.month
"Prairial"
>>> now_date.day
10
>>> now_date.day_of_the_week
"Décadi"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file metric-time-1.0.8.tar.gz
.
File metadata
- Download URL: metric-time-1.0.8.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad7c76032afc663336217781baf251bf685ac7a46b628a7e27814ac4a0fe3c1b |
|
MD5 | c231c47675d620432bdf2971d9798a5f |
|
BLAKE2b-256 | 735164cad9eda0ab779c4957076d717c252fa598a25af05ccf280f0e08001074 |
File details
Details for the file metric_time-1.0.8-py3-none-any.whl
.
File metadata
- Download URL: metric_time-1.0.8-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a75b9e8f5776b93f0437093dbf84b51eb4b3f81ac4ac455428fe4f0292398f |
|
MD5 | c65c9a8b3af6ae1673e6cf034fdd7fc1 |
|
BLAKE2b-256 | 78a773ec865ef269e3e24179942d19d38471afcc2f281d923f409d796fc1f01a |