Bird
Raised Fist0
Pythonprogramming~5 mins

Date and time handling in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What Python module is commonly used for working with dates and times?
The datetime module is commonly used to work with dates and times in Python.
Click to reveal answer
beginner
How do you get the current date and time in Python?
Use datetime.datetime.now() to get the current date and time.
Click to reveal answer
beginner
What is the difference between date and datetime in Python?
date stores only the year, month, and day. datetime stores date and time (hours, minutes, seconds, microseconds).
Click to reveal answer
intermediate
How can you format a date object as a string in Python?
Use the strftime() method with format codes, like date.strftime('%Y-%m-%d').
Click to reveal answer
intermediate
How do you calculate the difference between two dates in Python?
Subtract one date or datetime object from another to get a timedelta object representing the difference.
Click to reveal answer
Which method returns the current date and time in Python?
Adatetime.datetime.date()
Bdatetime.date.today()
Ctime.time()
Ddatetime.datetime.now()
What does the strftime() method do?
AParses a string into a date
BConverts a date or datetime to a formatted string
CReturns the current time
DCalculates the difference between dates
What type of object do you get when subtracting two datetime objects?
Atimedelta
Bdatetime
Cdate
Dint
Which Python module provides the timedelta class?
Acalendar
Btime
Cdatetime
Dos
How do you get only the date part from a datetime object?
AUse the <code>.date()</code> method
BUse the <code>.time()</code> method
CUse <code>datetime.now()</code>
DUse <code>strftime('%H:%M:%S')</code>
Explain how to get the current date and time, and how to format it as a string in Python.
Think about how to get now and then convert it to a readable string.
You got /3 concepts.
    Describe how to find the number of days between two dates in Python.
    Remember what happens when you subtract dates.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which Python module is commonly used to work with dates and times?
      easy
      A. os
      B. math
      C. random
      D. datetime

      Solution

      1. Step 1: Recall Python modules for date/time

        The datetime module provides classes for manipulating dates and times.
      2. Step 2: Identify unrelated modules

        math is for math functions, random for random numbers, os for operating system tasks.
      3. Final Answer:

        datetime -> Option D
      4. Quick Check:

        Module for date/time = datetime [OK]
      Hint: Remember: datetime handles clocks and calendars [OK]
      Common Mistakes:
      • Confusing datetime with math or random modules
      • Using os module for date/time
      • Not importing datetime before use
      2. Which of the following is the correct way to create a date object for January 1, 2024 using the datetime module?
      easy
      A. date = datetime(2024, 1, 1)
      B. date = datetime.date('2024-01-01')
      C. date = datetime.date(2024, 1, 1)
      D. date = datetime.date(1, 1, 2024)

      Solution

      1. Step 1: Understand datetime.date constructor

        The date class constructor takes year, month, day as integers in that order.
      2. Step 2: Check each option

        date = datetime.date(2024, 1, 1) uses correct syntax: datetime.date(2024, 1, 1). date = datetime(2024, 1, 1) misses .date. date = datetime.date('2024-01-01') passes a string, which is invalid. date = datetime.date(1, 1, 2024) has wrong argument order.
      3. Final Answer:

        date = datetime.date(2024, 1, 1) -> Option C
      4. Quick Check:

        date(year, month, day) = correct order [OK]
      Hint: Use datetime.date(year, month, day) with integers [OK]
      Common Mistakes:
      • Passing date as string instead of integers
      • Wrong argument order
      • Missing .date after datetime
      3. What will be the output of this code?
      from datetime import date, timedelta
      start = date(2024, 4, 25)
      new_date = start + timedelta(days=10)
      print(new_date)
      medium
      A. 2024-05-05
      B. 2024-04-15
      C. 2024-04-25
      D. Error: unsupported operand

      Solution

      1. Step 1: Understand timedelta addition

        Adding timedelta(days=10) to April 25, 2024 adds 10 days.
      2. Step 2: Calculate new date

        April 25 + 10 days = May 5, 2024.
      3. Final Answer:

        2024-05-05 -> Option A
      4. Quick Check:

        25 April + 10 days = 5 May [OK]
      Hint: Add timedelta days to date to get new date [OK]
      Common Mistakes:
      • Subtracting days instead of adding
      • Confusing timedelta with datetime
      • Expecting string input for timedelta
      4. Find the error in this code snippet:
      from datetime import datetime
      dt = datetime(2024, 2, 30)
      print(dt)
      medium
      A. datetime() requires string arguments
      B. February 30 is an invalid date
      C. Missing import for timedelta
      D. print() cannot display datetime objects

      Solution

      1. Step 1: Check date validity

        February 30 does not exist; February has max 29 days in leap years.
      2. Step 2: Understand datetime constructor

        datetime() expects valid year, month, day integers; invalid dates cause ValueError.
      3. Final Answer:

        February 30 is an invalid date -> Option B
      4. Quick Check:

        Invalid date causes error [OK]
      Hint: Check if date exists before creating datetime [OK]
      Common Mistakes:
      • Assuming all day numbers are valid
      • Missing import errors
      • Thinking print can't show datetime
      5. You want to find how many days are between March 1, 2024 and April 15, 2024. Which code correctly calculates this?
      hard
      A. from datetime import date start = date(2024, 3, 1) end = date(2024, 4, 15) days = (end - start).days print(days)
      B. from datetime import datetime start = datetime(2024, 3, 1) end = datetime(2024, 4, 15) days = end + start print(days)
      C. from datetime import date days = date(2024, 4, 15) - 45 print(days)
      D. from datetime import timedelta start = timedelta(days=2024) end = timedelta(days=101) days = end - start print(days)

      Solution

      1. Step 1: Use date objects for subtraction

        Subtracting two date objects gives a timedelta representing the difference.
      2. Step 2: Extract days from timedelta

        Access the .days attribute to get the number of days between dates.
      3. Final Answer:

        45 -> Option A
      4. Quick Check:

        April 15 - March 1 = 45 days [OK]
      Hint: Subtract dates, then use .days to get difference [OK]
      Common Mistakes:
      • Adding dates instead of subtracting
      • Subtracting integer from date
      • Using timedelta incorrectly as date