Python provides a module named datetime to work with the date and time. Sometimes in the real life application development, we need to work with the date and time. The date is not a separate data type in Python, but we can work with the date objects by importing the module named with datetime, time, and calendar.
The datetime module permits us to generate the custom date objects to perform various operations on dates like the comparison, formatting, etc.
To work with dates as date objects, we need to import datetime module into the Python source code.
Get the current time
The date module provides the localtime() function which is used to get the current time tuple. The example is following:
import time z = time.localtime(time.time()) print(z)
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=17, tm_min=48, tm_sec=58, tm_wday=6, tm_y day=258, tm_isdst=0)
The time() function
The time() function returns the total number of tick spent since 12 AM, 1st January. A tick can be considered as the smallest unit of the time. The time instants are counted since 12AM, 1st January.
import time # prints the number of ticks spend since 12 AM, 1st January 1970 print(time.time())
|1||Month||1 to 12|
|2||Day||1 to 31|
|3||Hour||0 to 23|
|4||Minute||0 to 59|
|5||Second||0 to 60|
|6||Day of weak||0 to 6|
|7||Day of year||1 to 366|
|8||Daylight savings||-1,0,1, or -1|
Get formatted time
The time module provides the asctime() function, which is used to format the time. It returns the formatted time for the time tuple which is passed in the asctime().
import time print(time.asctime(time.localtime(time.time())))
Mon Sep 16 12:47:17 2019
The sleep() method is used to stop the execution of the python script for a given amount of time. Consider the following example:
import time for i in range(0,5): print(i) # each element will be printed after 2 seconds time.sleep(2)
0 1 2 3 4
Create date object
The date objects can be created by using datetime constructor and by passing the desire data for which the date objects are to be created. Consider the following example:
import datetime #returns the datetime object for the specified date print(datetime.datetime(2018,12,10))
Get current date and time
The now() returns the current date and time. Let’s consider the following example:
import datetime datetime_object = datetime.datetime.now() print(datetime_object)
Using dir() function to get a list containing all attributes of a module.
import datetime print(dir(datetime))
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']
Get current date
import datetime date_object = datetime.datetime.now() print(date_object)
In the above program, we have used today() method to define the date class to get a date object containing the current local date.
Comparison of two dates
The two dates can be compared by using comparison operator like >>=, < and <=. Consider the following example.
from datetime import datetime as dt #Compares the time. If the time is in between 8AM and 4PM, then it prints working hours otherwise it prints fun hours if dt(dt.now().year,dt.now().month,dt.now().day,8)
Difference between two dates and time
from datetime import datetime, date t1 = date(year =2019, month = 7, day = 12, hour = 7, minute = 9, second = 33 ) t2 = date(year = 2018, month = 6, day = 10, hour = 5, minute = 55, second = 13) t3 = t1-t2 print("t3=",t3) t4 = datetime(year = 2017, month = 7, day = 12, hour = 7, minute = 9, second =13) t5 = datetime(year = 2018, month = 6, day = 10, hour = 5, minute = 55, second =33) t6 = t4-t5 print("t6=",t6)
t3= 397 days,0:00:00 t6= -333 days, 1:13:40
The calendar module
Python provides a calendar object that contains various method to work with the calenders.
import calendar cal = calendar.month(2018,11) print(cal)
The above code will generate the calendar of the year 2017 month of November
Printing the calendar of the whole year
import calendar year = 2017 # display the calendar print(calendar.calendar(yy))