Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for metric-time, version 1.0.8
Filename, size File type Python version Upload date Hashes
Filename, size metric_time-1.0.8-py3-none-any.whl (5.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size metric-time-1.0.8.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page