w3resource

Python Datetime - Exercises, Practice, Solution


This resource offers a total of 315 Python datetime problems for practice. It includes 63 main exercises, each accompanied by solutions, detailed explanations, and four related problems.

The datetime module supplies classes for manipulating dates and times in both simple and complex ways.

You may read our Python date and time tutorial before solving the following exercises.

[An Editor is available at the bottom of the page to write and execute the scripts.]


1. DateTime Formats Display

Write a Python script to display the various Date Time formats -
a) Current date and time
b) Current year
c) Month of year
d) Week number of the year
e) Weekday of the week
f) Day of year
g) Day of the month
h) Day of week

Click me to see the solution


2. Leap Year Checker

Write a Python program to determine whether a given year is a leap year.

Click me to see the solution


3. String to Datetime Converter

Write a Python program to convert a string to datetime.

Sample String : Jul 1 2014 2:43PM
Expected Output : 2014-07-01 14:43:00

Click me to see the solution


4. Current Time Fetcher

Write a Python program to get the current time in Python.

Sample Format :  13:19:49.078205

Click me to see the solution


5. Subtract Five Days

Write a Python program to subtract five days from the current date.

Sample Date :
Current Date : 2015-06-22
5 days before Current Date : 2015-06-17

Click me to see the solution


6. Unix Timestamp Converter

Write a Python program to convert a Unix timestamp string to a readable date.

Sample Unix timestamp string : 1284105682
Expected Output : 2010-09-10 13:31:22

Click me to see the solution


7. Relative Dates Printer

Write a Python program to print yesterday, today, tomorrow.

Click me to see the solution


8. Date to Midnight Datetime

Write a Python program to convert the date to datetime (midnight of the date) in Python.

Sample Output : 2015-06-22 00:00:00

Click me to see the solution


9. Next 5 Days Printer

Write a Python program to print the next 5 days starting today.

Click me to see the solution


10. Add 5 Seconds

Write a Python program to add 5 seconds to the current time.

Sample Data :
13:28:32.953088
13:28:37.953088

Click me to see the solution


11. Day of Year Converter

Write a Python program to convert Year/Month/Day to Day of Year in Python.

Click me to see the solution


12. Time in Milliseconds

Write a Python program to get the current time in milliseconds in Python.

Click me to see the solution


13. Week Number Finder

Write a Python program to get the week number.

Sample Date : 2015, 6, 16
Expected Output : 25

Click me to see the solution


14. First Monday Finder

Write a Python program to find the date of the first Monday of a given week.

Sample Year and week : 2015, 50
Expected Output : Mon Dec 14 00:00:00 2015

Click me to see the solution


15. Sundays Selector

Write a Python program to select all the Sundays in a specified year.

Click me to see the solution


16. Add Years to Date

Write a Python program to add year(s) to a given date and display the updated date.

Sample Data : (addYears is the user defined function name)
print(addYears(datetime.date(2015,1,1), -1))
print(addYears(datetime.date(2015,1,1), 0))
print(addYears(datetime.date(2015,1,1), 2))
print(addYears(datetime.date(2000,2,29),1))

Expected Output :
2014-01-01
2015-01-01
2017-01-01
2001-03-01

Click me to see the solution


17. Drop Microseconds

Write a Python program to drop microseconds from datetime.

Click me to see the solution


18. Days Between Dates

Write a Python program to get days between two dates.

Sample Dates : 2000,2,28, 2001,2,28
Expected Output : 366 days, 0:00:00

Click me to see the solution


19. Last Tuesday Finder

Write a Python program to get the date of the last Tuesday.

Click me to see the solution


20. Third Tuesday Tester

Write a Python program to test the third Tuesday of a month.

Click me to see the solution


21. Last Day Finder

Write a Python program to get the last day of a specified year and month.

Click me to see the solution


22. Days in Month

Write a Python program to get the number of days in a given month and year.

Click me to see the solution


23. Add Month to Date

Write a Python program to add a month to a specified date.

Click me to see the solution


24. Count First Mondays

Write a Python program to count the number of Mondays on the 1st day of the month from 2015 to 2016.

Click me to see the solution


25. Delayed String Printer

Write a Python program to print a string five times, with a delay of three seconds..

Click me to see the solution


26. Six Months Later

Write a Python program that calculates the date six months from the current date using the datetime module.

Click me to see the solution


27. Fixed Dates Generator

Write a Python program to create 12 fixed dates from a specified date over a given period. The difference between two dates is 20.

Click me to see the solution


28. 30 Days Before/After

Write a Python program to get the dates 30 days before and after today.

Click me to see the solution


29. GMT and Local Time

Write a Python program to get GMT and the local time.

Click me to see the solution


30. Date to Timestamp

Write a Python program to convert a date to a timestamp.

Click me to see the solution


31. String Date to Timestamp

Write a Python program to convert a string date to a timestamp.

Click me to see the solution


32. Days Between Two Dates

Write a Python program to calculate the number of days between two dates.

Click me to see the solution


33. Days Between DateTimes

Write a Python program to calculate the number of days between two date times.

Click me to see the solution


34. Human Friendly DateTime

Write a Python program to display the date and time in a human-friendly string.

Click me to see the solution


35. Date to Unix Timestamp

Write a Python program to convert a date to a Unix timestamp.

Click me to see the solution


36. Difference in Seconds

Write a Python program to calculate the difference between two dates in seconds.

Click me to see the solution


37. Date Difference Breakdown

Write a Python program to convert difference of two dates into days, hours, minutes, and seconds.

Click me to see the solution


38. File Last Modified Info

Write a Python program to get the last modified information of a file.

Click me to see the solution


39. Age Calculator

Write a Python program to calculate an age in years.

Click me to see the solution


40. Current DateTime Info

Write a Python program to get the current date and time information.

Click me to see the solution


41. DateTime String Generator

Write a Python program to generate a date and time as a string.

Click me to see the solution


42. Formatted Month Calendar

Write a Python program to display formatted text output of a month and start the week on Sunday.

Click me to see the solution


43. 3-Column Year Calendar

Write a Python program to print a 3-column calendar for an entire year.

Click me to see the solution


44. Locale Calendar Display

Write a Python program to display a calendar for a locale.

Click me to see the solution


45. Current Week Finder

Write a Python program to get the current week.

Click me to see the solution


46. Calendar Creator

Write a Python program to create a HTML calendar with data for a specific year and month.

Click me to see the solution


47. 2nd Saturday Dates

Write a Python program display a list of the dates for the 2nd Saturday of every month for a given year.

Click me to see the solution


48. Simple Formatted Calendar

Write a Python program to display a simple, formatted calendar of a given year and month.

Click me to see the solution


49. String to Datetime Conversion

Write a Python program to convert a string into datetime

Click me to see the solution


50. Dates Between Two Dates

Write a Python program to get a list of dates between two dates.

Click me to see the solution


51. RFC 3339 Timestamp Generator

Write a Python program to generate RFC 3339 timestamp.

Click me to see the solution


52. First and Last Second

Write a Python program to get the first and last second.

Click me to see the solution


53. Gregorian Date Validator

Write a Python program to validate a Gregorian date. The month is between 1 and 12 inclusive, the day is within the allowed number of days for the given month. Leap year's are taken into consideration. The year is between 1 and 32767 inclusive.

Click me to see the solution


54. Set Default Timezone

Write a Python program to set the default timezone used by all date/time functions.

Click me to see the solution


55. Epoch Info and Conversion

The epoch is the point where time starts, and is platform dependent. For Unix, the epoch is January 1, 1970, 00:00:00 (UTC). Write a Python program to find out what the epoch is on a given platform. Convert a given time in seconds since the epoch.

Sample Output:
Epoch on a given platform:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
Time in seconds since the epoch:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

Click me to see the solution


56. Time Components Fetcher

Write a Python program to get time values with components using local time and gmtime.

Sample Output:
localtime:
tm_year : 2021
tm_mon : 4
tm_mday : 13
tm_hour : 11
tm_min : 20
tm_sec : 37
tm_wday : 1
tm_yday : 103
tm_isdst: 0
gmtime:
tm_year : 2021
tm_mon : 4
tm_mday : 13
tm_hour : 11
tm_min : 20
tm_sec : 37
tm_wday : 1
tm_yday : 103
tm_isdst: 0

Click me to see the solution


57. Timezone Components Fetcher

Write a Python program to get different time values with components timezone, timezone abbreviations, the offset of the local (non-DST) timezone, DST timezone and time of different timezones.

Sample Output:
Default Zone:
TZ : (not set)
Timezone abbreviations: ('UTC', 'UTC')
Timezone : 0 (0.0)
DST timezone 0
Time : 11:30:05 04/13/21 UTC
Pacific/Auckland :
TZ : Pacific/Auckland
Timezone abbreviations: ('NZST', 'NZDT')
Timezone : -43200 (-12.0)
DST timezone 1
Time : 23:30:05 04/13/21 NZST
Europe/Berlin :
TZ : Europe/Berlin
Timezone abbreviations: ('CET', 'CEST')
Timezone : -3600 (-1.0)
DST timezone 1
Time : 13:30:05 04/13/21 CEST
America/Detroit :
TZ : America/Detroit
Timezone abbreviations: ('EST', 'EDT')
Timezone : 18000 (5.0)
DST timezone 1
Time : 07:30:05 04/13/21 EDT
Singapore :
TZ : Singapore
Timezone abbreviations: ('+08', '+08')
Timezone : -28800 (-8.0)
DST timezone 0
Time : 19:30:05 04/13/21 +08

Click me to see the solution


58. Script Suspension

Write a Python program that can suspend execution of a given script for a given number of seconds.

Sample Output:
Sorry, Slept for 3 seconds...
Sorry, Slept for 3 seconds...
Sorry, Slept for 3 seconds...
Sorry, Slept for 3 seconds...

Click me to see the solution


59. Epoch Seconds to Local Time

Write a Python program to convert a given time in seconds since the epoch to a string representing local time.

Sample Output:
Tue Apr 13 11:51:51 2021
Thu Jun 30 18:36:29 1977

Click me to see the solution


60. Simple Time Format Printer

Write a Python program that prints the time, names, representation format, and the preferred date time format in a simple format.

Sample Output:
Simple format of time:
Tue, 13 Apr 2021 12:02:01 + 1010
Full names and the representation:
Tuesday, 04/13/21 April 2021 12:02:01 + 0000
Preferred date time format:
Tue Apr 13 12:02:01 2021
Example 11: 04/13/21, 12:02:01, 21, 2021

Click me to see the solution


61. Local Time from Seconds

Write a Python program that takes a given number of seconds and passes since the epoch as an argument. Print structure time in local time.

Sample Output:
Result: time.struct_time(tm_year=1983, tm_mon=2, tm_mday=19, tm_hour=21, tm_min=38, tm_sec=18, tm_wday=5, tm_yday=50, tm_isdst=0)
Year: 1983

Click me to see the solution


62. Time Tuple to String

Write a Python program that takes a tuple containing 9 elements corresponding to structure time as an argument and returns a string representing it.

Sample Output:
Result: Sun Jan 22 02:34:06 2020
Result: Tue Nov 12 02:54:08 1982

Click me to see the solution


63. Parse Time String

Write a Python program to parse a string representing time and return the time structure.

Sample Output:
String representing time: 22 January, 2020
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=22, tm_isdst=-1)
String representing time: 30 Nov 00
time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
String representing time: 04/11/15 11:55:23
time.struct_time(tm_year=2015, tm_mon=4, tm_mday=11, tm_hour=11, tm_min=55, tm_sec=23, tm_wday=5, tm_yday=101, tm_isdst=-1)
String representing time: 12-11-2019
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=345, tm_isdst=-1)
String representing time: 13::55::26
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=13, tm_min=55, tm_sec=26, tm_wday=0, tm_yday=1, tm_isdst=-1)

Click me to see the solution


Python Code Editor:

More to Come !

Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.

Test your Python skills with w3resource's quiz



Follow us on Facebook and Twitter for latest update.