

Photo by Author | Chat GPT
Introduction
Built -in of Azigar datetime
The module can be considered easily in the environmental system for the date and time and manipulation of the time and manipulation of the module. Most of the curds are familiar with the coder datetime
Objects, formatting them into the wires, and performing basic mathematics. However, this powerful module, sometimes related libraries such as calendar
Of the basic things, a ton offers more functionality that can solve complex history and time -related problems with amazing ease.
10 useful in this article – and maybe a surprise – things you can accomplish with azagar datetime
From navigating the module time zone to calculate specific events of the week, these examples will demonstrate the history of the date and the toll cut.
1. Search for the day of the week
In addition to knowing only the date, you often need to know the week. datetime
The module makes this small thing. Each datetime
The object is A weekday()
Method, which returns the week as a number of the day (Monday is 0, Sunday 6), and a strftime()
The method, which can format history to show the name of the whole day.
import datetime
# Pick a date
today = datetime.date(2025, 7, 10)
# Get the day of the week (Monday is 0)
day_of_week_num = today.weekday()
print(f"Day of the week (numeric): {day_of_week_num}")
# Get the full name of the day
day_name = some_date.strftime("%A")
print(f"The date {today} is a {day_name}")
Output:
The date 2025-07-10 is a Thursday
2.
Ever need a simple countdown timer? With datetime
You can easily calculate time in the future for a certain future date and time. By lowering the current datetime
From one of the future, you get one timedelta
The object that represents the difference.
import datetime
# Define a future event
new_year_2050 = datetime.datetime(2050, 1, 1, 0, 0, 0)
# Get the current time
now = datetime.datetime.now()
# Calculate the difference
time_left = new_year_2050 - now
print(f"Time left until New Year 2050: {time_left}")
Output:
Time left until New Year 2050: 8940 days, 16:05:52.120836
3. Working with the time zone
Time zones are difficult to handle. A Bid datetime
Object Time Zone has no data, while one Conviction Objects own this data. Using pytz
The library (or built -in zoneinfo
In Azar, at 3.9+) manages to work with the time zone.
For example, you can use a time zone time to change such a second time zone:
import datetime
from pytz import timezone
# Create a timezone-aware datetime for New York
nyc_tz = timezone('America/New_York')
nyc_time = datetime.datetime.now(nyc_tz)
print(f"New York Time: {nyc_time}")
# Convert it to another timezone
london_tz = timezone('Europe/London')
london_time = nyc_time.astimezone(london_tz)
print(f"London Time: {london_time}")
Output:
New York Time: 2025-07-10 07:57:53.900220-04:00
London Time: 2025-07-10 12:57:53.900220+01:00
4. Getting the last day of a month
It is not straightforward to detect the last day of a month as there are different days in months. You can write logic to handle 30/31 days as well (don’t forget about leap years!), Or you can use smart trick with it datetime
And timedelta
. The first day of strategy is to find Next Make a month and then one day.
import datetime
def get_last_day_of_month(year, month):
# Handle month rollover for December -> January
if month == 12:
next_month_first_day = datetime.date(year + 1, 1, 1)
else:
next_month_first_day = datetime.date(year, month + 1, 1)
# Subtract one day to get the last day of the current month
return next_month_first_day - datetime.timedelta(days=1)
# Example: Get the last day of February 2024 (a leap year)
last_day = get_last_day_of_month(2024, 2)
print(f"The last day of February 2024 is: {last_day}")
Output:
The last day of February 2024 is: 2024-02-29
5. Accounting your exact age
You can use datetime
Accounting someone’s age for day. This logic involves degrading the date of birth from the present date and then making a small adjustment to the account whether the person’s birthday has yet been reported this year.
import datetime
def calculate_age(birthdate):
today = datetime.date.today()
age = today.year - birthdate.year - ((today.month, today.day) < (birthdate.month, birthdate.day))
return age
# Example usage
picasso_birthdate = datetime.date(1881, 10, 25)
picasso_age = calculate_age(picasso_birthdate)
print(f"If alive today, Pablo Picasso would be {picasso_age} years old.")
Output:
If alive today, Pablo Picasso would be 143 years old.
6. To repeat through a range of dates
Sometimes you need to operate for every day within a specific date limit. You can easily loop through dates by starting with a date object and by repeatedly adding one timedelta
One day until you reach the last date.
import datetime
start_date = datetime.date(2025, 1, 1)
end_date = datetime.date(2025, 1, 7)
day_delta = datetime.timedelta(days=1)
current_date = start_date
while current_date <= end_date:
print(current_date.strftime('%Y-%m-%d, %A'))
current_date += day_delta
Output:
2025-01-01, Wednesday
2025-01-02, Thursday
2025-01-03, Friday
2025-01-04, Saturday
2025-01-05, Sunday
2025-01-06, Monday
2025-01-07, Tuesday
7. Dates from non -standard string formats
strptime()
Function is useful to replace wires datetime
Objects are incredibly flexible and can handle a variety of formats using specific format codes. It is important when the standard ISO format cannot be used to deal with different sources data.
import datetime
date_string_1 = "July 4, 1776"
date_string_2 = "1867-07-01 14:30:00"
# Parse the first string format
dt_object_1 = datetime.datetime.strptime(date_string_1, "%B %d, %Y")
print(f"Parsed object 1: {dt_object_1}")
# Parse the second string format
dt_object_2 = datetime.datetime.strptime(date_string_2, "%Y-%m-%d %H:%M:%S")
print(f"Parsed object 2: {dt_object_2}")
Output:
Parsed object 1: 1776-07-04 00:00:00
Parsed object 2: 1867-07-01 14:30:00
8. Finding the ninth week of one month
Do you want to know the date of the third Thursday in November? calendar
Can be used along with the module datetime
To solve it. monthcalendar()
The function returns the matrix representing a month’s week, after which you can paralysis.
import calendar
# calendar.weekday() Monday is 0 and Sunday is 6
# calendar.Thursday is 3
cal = calendar.Calendar()
# Get a matrix of weeks for November 2025
month_matrix = cal.monthdatescalendar(2025, 11)
# Find the third Thursday
third_thursday = (week(calendar.THURSDAY) for week in month_matrix if week(calendar.THURSDAY).month == 11)(2)
print(f"The third Thursday of Nov 2025 is: {third_thursday}")
Output:
The third Thursday of Nov 2025 is: 2025-11-20
9. Getting the Number of ISO Week
ISO 8601 The standard week explains a system where a week begins on Monday. isocalendar()
The method returns a tip of the ISO year, Saturday number, and Saturday for a fixed date.
Note that the date below is Thursday, and so should the results of the week of 4. It should also be the 28th week of the year.
import datetime
d = datetime.date(2025, 7, 10)
iso_cal = d.isocalendar()
print(f"Date: {d}")
print(f"ISO Year: {iso_cal(0)}")
print(f"ISO Week Number: {iso_cal(1)}")
print(f"ISO Weekday: {iso_cal(2)}")
Output:
Date: 2025-07-10
ISO Year: 2025
ISO Week Number: 28
ISO Weekday: 4
10. Including or declaring business days
Counting future dates in the weekend is a common business. While datetime
It doesn’t have a built -in function, you can write a simple helpful function using timedelta
And weekday()
Method
import datetime
def add_business_days(start_date, num_days):
current_date = start_date
while num_days > 0:
current_date += datetime.timedelta(days=1)
# weekday() returns 5 for Saturday and 6 for Sunday
if current_date.weekday() < 5:
num_days -= 1
return current_date
start = datetime.date(2025, 7, 10) # A Thursday
end = add_business_days(start, 13)
print(f"13 business days after {start} is {end}")
13 business days after 2025-07-10 is 2025-07-29
Wrap
Of azagor datetime
Module dates are more than just an easy tool to store dates. It provides a flexible and useful set of tools tools to make the logic of almost any time conceptual. Understanding its basic ingredients- date
For, for, for,. time
For, for, for,. datetime
And timedelta
– and together with them calendar
Like module or external libraries pytz
You can solve complex real -world problems effectively and accurately.
Don’t forget to check datetime
Of the module Documents For more. You can wonder what you can do.
Matthew Mayo For,,,,,,,,,, for,, for,,,, for,,,, for,,, for,,,, for,,,, for,,,, for,,, for,,, for,,, for,,, for,,,, for,,, for,,, for,,,, for,,, for,,,, for,,, for,,, for,,,, for,,, for,,, for,,,, for,,, for,,,, for,,, for,,,, for,,, for,,,, for,,, for,,,, for,,,, for,,,, for,,,, for,,,, for,,,, for,,,, for,,, for,,, for,,, for,,, for,,,,, for,,,, for,,,, for,,,, for,, for,.@MattMayo13) Computer science is a graduate diploma in master’s degree and data mining. As the Managing Editor of Kdnuggets & StatologyAnd supporters in the editor Machine specializes in learningMatthew aims to make complex data science concepts accessible. Its professional interests include natural language processing, language models, machine learning algorithms, and the search for emerging AI. He is driven by a mission to democratic knowledge in the data science community. Matthew has been coding since the age of 6.