Often in data science we need analysis which is based on temporal values. Python can handle the various formats of date and time gracefully. The datetime library provides necessary methods and functions to handle the following scenarios.
We will study them one by one.
A date and its various parts are represented by using different datetime functions. Also, there are format specifiers which play a role in displaying the alphabetical parts of a date like name of the month or week day. The following code shows today's date and various parts of the date.
import datetime print 'The Date Today is :', datetime.datetime.today() date_today = datetime.date.today() print date_today print 'This Year :', date_today.year print 'This Month :', date_today.month print 'Month Name:',date_today.strftime('%B') print 'This Week Day :', date_today.day print 'Week Day Name:',date_today.strftime('%A')
When we execute the above code, it produces the following result.
The Date Today is : 2018-04-22 15:38:35.835000 2018-04-22 This Year : 2018 This Month : 4 Month Name: April This Week Day : 22 Week Day Name: Sunday
For calculations involving dates we store the various dates into variables and apply the relevant mathematical operator to these variables.
import datetime #Capture the First Date day1 = datetime.date(2018, 2, 12) print 'day1:', day1.ctime() # Capture the Second Date day2 = datetime.date(2017, 8, 18) print 'day2:', day2.ctime() # Find the difference between the dates print 'Number of Days:', day1-day2 date_today = datetime.date.today() # Create a delta of Four Days no_of_days = datetime.timedelta(days=4) # Use Delta for Past Date before_four_days = date_today - no_of_days print 'Before Four Days:', before_four_days # Use Delta for future Date after_four_days = date_today + no_of_days print 'After Four Days:', after_four_days
When we execute the above code, it produces the following result.
day1: Mon Feb 12 00:00:00 2018 day2: Fri Aug 18 00:00:00 2017 Number of Days: 178 days, 0:00:00 Before Four Days: 2018-04-18 After Four Days: 2018-04-26
Date and time are compared using logical operators. But we must be careful in comparing the right parts of the dates with each other. In the below examples we take the future and past dates and compare them using the python if clause along with logical operators.
import datetime date_today = datetime.date.today() print 'Today is: ', date_today # Create a delta of Four Days no_of_days = datetime.timedelta(days=4) # Use Delta for Past Date before_four_days = date_today - no_of_days print 'Before Four Days:', before_four_days after_four_days = date_today + no_of_days date1 = datetime.date(2018,4,4) print 'date1:',date1 if date1 == before_four_days : print 'Same Dates' if date_today > date1: print 'Past Date' if date1 < after_four_days: print 'Future Date'
When we execute the above code, it produces the following result.
Today is: 2018-04-22 Before Four Days: 2018-04-18 date1: 2018-04-04 Past Date Future Date