Skip to main content

Extends datetime.time, allowing time arithmetic

Project description

Python’s datetime module has many uses, but it has a difficulty: you can’t do any arithmetic with datetime.time. Only with datetime.datetime. Now, there are good reasons for this: “What time will it be, 24 hours from now” has a lot of corner cases, including daylight savings time, leap seconds, historical timezone changes, leap years, and so on. But sometimes you really do need the simple case. Sometimes the perfect is the enemy of the good. And that’s why you have this module. This module will allow you to cocoon yourself in the comforting illusion that, in 24 hours, it will be the same time as it is right now.

And what freedom this illusion gives you! You can add a datetime.timedelta object to an nptime object, and it works! It will cycle around 24 hours, like modular arithmetic. You can ask “what time comes 1 day and 36 minutes after 12:24 pm?” and it will let you know: 1:00 pm. How lovely!

>>> from nptime import nptime
>>> from datetime import timedelta
>>> afternoon = nptime(12, 24) + timedelta(days=1, minutes=36)
>>> afternoon
nptime(13, 0)
>>> str(afternoon)
'13:00:00'

You can also ask “How long is it between 9:00 AM and 5:00 PM? It sure feels like a million years!”

>>> workday = nptime(hour=17) - nptime(hour=9)
>>> workday
datetime.timedelta(0, 28800)
>>> print workday
8:00:00

Nope, only 8 hours, how strange. Anyway, please use this module. It will be convenient. But don’t use it when talking about concrete time, time in a particular place, or anything like that. In fact, it doesn’t even notice datetime.tzinfo objects right now. Good luck.

Note: You can find the newest version at https://github.com/tgs/nptime .

You can find online documentation at http://tgs.github.com/nptime/ .

Project details


Download files

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

Source Distribution

nptime-0.3.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file nptime-0.3.tar.gz.

File metadata

  • Download URL: nptime-0.3.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nptime-0.3.tar.gz
Algorithm Hash digest
SHA256 bcfcc9316df799585dac8b4203c64a350b75deb89ca5818d6d2bc0b3113cd560
MD5 b6b765bc4a0b203ccf58be0dfd4b4e2c
BLAKE2b-256 5d0cf8366df0be5bb5c76576f77ffebc902af004ffa11dd8a4a9a582ee46f082

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page