Python Date and Time: Python can handle date and time in several ways. The calendar modules and time help track dates and times.
How To Get Python Date & Time?
Tick
Time intervals are floating-point numbers in units of seconds. Particular instants in time are expressed in seconds since 12:00 am, January 1, 1970 (epoch).
There is a popular time module available in Python which provides functions for working with times, and for converting between representations. The function time.time() returns the current system time in ticks since 12:00am, January 1, 1970(epoch).
Example:
import time; # This is required to include a time module. ticks = time.time() print "Number of ticks since 12:00am, January 1, 1970:", ticks
Output:
Number of ticks since 12:00 am, January 1, 1970: 7186862.73399
Time Tuple
Python function handles time as a tuple of 9 numbers. check here as follows:
Index | Field | Values |
---|---|---|
0 | 4-digit year | 2019 |
1 | Month | 1 to 12 |
2 | Day | 1 to 31 |
3 | Hour | 0 to 23 |
4 | Minute | 0 to 59 |
5 | Second | 0 to 61 (60 or 61 are leap-seconds) |
6 | Day of Week | 0 to 6 (0 is Monday) |
7 | Day of year | 1 to 366 (Julian day) |
8 | Daylight savings | -1, 0, 1, -1 means library determines DST |
Index | Attributes | Values |
---|---|---|
0 | tm_year | 2019 |
1 | tm_mon | 1 to 12 |
2 | tm_mday | 1 to 31 |
3 | tm_hour | 0 to 23 |
4 | tm_min | 0 to 59 |
5 | tm_sec | 0 to 61 (60 or 61 are leap-seconds) |
6 | tm_wday | 0 to 6 (0 is Monday) |
7 | tm_yday | 1 to 366 (Julian day) |
8 | tm_isdst | -1, 0, 1, -1 means library determines DST |
Get Current Time
If you want to get instant time from seconds, while the epoch floating point value into a time tuple, pass floating point value to a function. (i.e local time)
Example:
import time; local time = time.localtime(time.time()) print "Local current time:", localtime
Output:
Local current time: time.struct_time(tm_year=2019, tm_mon=1,tm_mday=1, tm_hour=01, tm_min=20, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
Get formatted time
You can format any time as per your requirement. You can do it by asctime( )
Example:
import time; localtime = time.asctime( time.localtime(time.time()) ) print "Local current time:", localtime
Output:
Local current time: Tue Jan 13 10:17:09 2009
Get Calendar of Month
If you want to get a calendar of the month.
Example:
import calendar Cal = calendar.month(2008, 1) print "Here is the calendar:" print cal
Output:
Here is the calendar:
January 2019
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Get date from a timestamp
We can also create date objects from a timestamp. A Unix timestamp is the number of seconds between a particular date and January 1, 1970, at UTC. And we can convert a timestamp to date using from timestamp() method.
Example
from datetime import date timestamp = date.fromtimestamp(1326244364) print("Date =", timestamp)
Output
Date = 2012-01-11
Print today’s year, month and day
Example
from datetime import date #date object of today's date today = date.today() print("Current year:", today.year) print("Current month:", today.month) print("Current day:", today.day)
Output
Current year: 2019
Current month: 5
Current day: 25
datetime.datetime
The datetime module has a class named dateclass that can contain information from both date and time objects.
Example
from datetime import datetime #datetime(year, month, day) a = datetime(2019, 11, 28) print(a) # datetime(year, month, day, hour, minute, second, microsecond) b = datetime(2010, 5, 28, 23, 55, 59, 342380) print(b)
Output
2019-11-28 00:00:00
2019-05-28 23:55:59.342380
Handling timezone in Python
If you need to display date and time based on their timezone. Rather than trying to handle timezone yourself, we suggest you use a third-party pytZ module.
Example
from datetime import datetime import pytz local = datetime.now() print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S")) tz_NY = pytz.timezone('America/New_York') datetime_NY = datetime.now(tz_NY) print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S")) tz_London = pytz.timezone('Europe/London') datetime_London = datetime.now(tz_London) print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))
Output
Local time: 2018-12-20 13:10:44.260462
America/New_York time: 2018-12-20 13:10:44.260462
Europe/London time: 2018-12-20 13:10:44.260462