- Aliases
- and operator
- Booleans
- Classes
- Code blocks
- Comments
- Conditional statements
- Console
- datetime module
- Dictionaries
- enum
- enumerate() function
- Equality operator
- False
- Floats
- For loops
- Formatted strings
- Functions
- Greater than operator
- Greater than or equal to operator
- If statement
- in operator
- Indices
- Inequality operator
- Integers
- Less than operator
- Less than or equal to operator
- List append() method
- List insert() method
- List pop() method
- List sort() method
- Lists
- map() function
- Match statement
- Modules
- None
- not operator
- or operator
- Parameters
- print() function
- range() function
- Regular expressions
- requests Library
- return statement
- round() function
- Sets
- String join() method
- String replace() method
- String split() method
- Strings
- time.sleep() function
- True
- try...except statement
- Tuples
- Variables
- While loops
PYTHON
Python datetime
: Working with Date and Time in Python
The Python datetime
module provides powerful tools for working with dates, times, and time intervals, including formatting and manipulation.
How to Use the Python datetime
Module
To work with dates and times in Python, you need to import the datetime
module. The Python date and time module provides several classes for formatting and manipulating date and time values.
from datetime import datetime
# Get the current date and time
now = datetime.now()
print(now) # Outputs: 2024-09-19 12:34:56.789123
datetime
: The module name and main class for working with date and time values.date
: Represents a date (year, month, and day) without a time component.time
: Represents a time (hours, minutes, seconds, and microseconds) without a date component.timedelta
: Represents a duration or the difference between two dates or times.
When to Use Python datetime
Python Getting the Current Date and Time
The datetime.now()
function creates a datetime
object with the current date and time. The function is particularly useful for adding timestamps to events or records, such as log entries, or measuring the current time.
from datetime import datetime
current_time = datetime.now()
print(current_time) # Outputs the current date and time.
Python String to datetime
Using the strptime()
method, you can convert strings to datetime
objects (also known as parsing).
from datetime import datetime
date_string = "2024-09-19 15:45:30"
date_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_object) # Outputs: 2024-09-19 15:45:30
In this example, the string 2024-09-19 15:45:30
is converted into a datetime
object using the format "%Y-%m-%d %H:%M:%S"
. You can adjust the format string to match different date and time formats.
Python datetime
to String
datetime
is also helpful for creating human-readable dates in a specific format on a website or in reports. In such scenarios, you can use the strftime()
method to convert a datetime
object into a formatted string.
from datetime import datetime
now = datetime.now()
formatted_date = now.strftime("%A, %B %d, %Y")
print(formatted_date) # Outputs: 'Thursday, September 19, 2024'
Python datetime
Comparison
You can compare datetime
objects to determine if one date is before, after, or the same as another. This is useful for scheduling systems, event triggers, or expiration dates.
from datetime import datetime
deadline = datetime(2024, 9, 20, 12, 0, 0)
now = datetime.now()
if now > deadline:
print("Deadline has passed!")
else:
print("You still have time.")
Examples of Using Python datetime
Scheduling and Notifications
Many apps use the datetime
module to schedule tasks and send notifications. For example, a reminder app might use the module to trigger notifications at specific times.
from datetime import datetime, timedelta
now = datetime.now()
reminder_time = now + timedelta(hours=2) # Set a reminder for 2 hours from now
print(f"Reminder set for: {reminder_time}")
In this case, the user sets a reminder two hours from the current time.
Tracking Events in a Web Application
Web applications often use datetime
to log user activity. For instance, tracking the date and time a user registers, logs in, or performs actions can help maintain records.
from datetime import datetime
user_registration = datetime.now()
print(f"User registered at: {user_registration}")
Time Zone Conversion in Global Apps
In global applications, you might need to handle multiple time zones. Using the pytz
module, you can convert datetime
objects to different time zones.
from datetime import datetime
import pytz
utc = pytz.utc
eastern = pytz.timezone('US/Eastern')
now_utc = datetime.now(utc)
now_est = now_utc.astimezone(eastern)
print(f"Current time in UTC: {now_utc}")
print(f"Current time in Eastern Time: {now_est}")
This example converts the current time in UTC to Eastern Time (US).
Learn More About Python datetime
datetime
and date
in Python
You might not always need a complete datetime
object, like when working with calendar dates (birthdays, deadlines, etc.). In such cases, you can use the date class (datetime.date
) and handle dates (year, month, day) without concern for time.
from datetime import date
# Get today's date
today = date.today()
# Create a specific date (year, month, day)
my_birthday = date(1995, 5, 16)
# Access individual components
print("Year:", today.year)
print("Month:", today.month)
print("Day:", today.day)
Key methods and attributes of the date
class are:
date.today()
: Returns the current date.date(year, month, day)
: Creates a newdate
object.year
,month
,day
: Attributes to access individual components of a date.
Python time
Class
The time
class represents the time of day (hour, minute, second, microsecond) and does not include date information.
Similarly, you might not need datetime
if you only want to handle time information. The time
class (datetime.time
) in Python represents the time of day (hour, minute, second, microsecond) without date information.
from datetime import time
# Create a time object (hours, minutes, seconds)
meeting_time = time(14, 30, 0)
# Access individual components
print("Hour:", meeting_time.hour)
print("Minute:", meeting_time.minute)
print("Second:", meeting_time.second)
You can use time
when only the time of day matters (scheduling events, setting alarms, etc.). Essential methods and attributes of the time
class include:
time(hour, minute, second, microsecond)
: Creates a time object. All parameters are optional and default to 0.hour
,minute
,second
,microsecond
: Attributes to access individual components of the time.
Python datetime
Formats
In Python, you can format or parse time using a range of different format codes. Ubiquitous format codes are:
%Y
: Year with century (e.g.,2023
)%y
: Year without century (e.g.,23
)%m
: Month as a zero-padded decimal number (e.g.,01
for January)%B
: Full month name (e.g.,January
)%d
: Day of the month as a zero-padded decimal number (e.g.,01
)%A
: Full weekday name (e.g.,Monday
)%H
: Hour (24-hour clock) as a zero-padded decimal number (e.g.,14
)%M
: Minute as a zero-padded decimal number (e.g.,30
)%S
: Second as a zero-padded decimal number (e.g.,59
)%p
: AM or PM%z
: UTC offset (e.g.,+0000
)%c
: Date and time representation appropriate to the locale (e.g.,Tue Aug 16 21:30:00 2023
)
Date Arithmetic with timedelta
The timedelta
class makes date arithmetic simple. For example, you can add or subtract days, hours, minutes, and even seconds to a datetime
object. Date arithmetic is particularly useful for calculating deadlines or future events.
from datetime import datetime, timedelta
now = datetime.now()
tomorrow = now + timedelta(days=1)
print(f"Tomorrow's date: {tomorrow}")
Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.