🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
In this guide, you'll explore Python's datetime module, which is used to work with dates and times. Learn its key functions and examples for practical use.
The datetime module in Python provides classes for manipulating dates and times. It includes functions for both simple and complex date and time manipulations. This module allows you to create, format, and work with dates and times in an intuitive way.
Table of Contents
- Introduction
datetimeClassesdatetime.datedatetime.timedatetime.datetimedatetime.timedeltadatetime.tzinfodatetime.timezone
- Common Operations
- Creating Dates and Times
- Formatting and Parsing Dates and Times
- Arithmetic with Dates and Times
- Timezone Handling
- Examples
- Current Date and Time
- Formatting Dates and Times
- Parsing Strings into Dates and Times
- Date and Time Arithmetic
- Timezone-Aware Dates and Times
- Real-World Use Case
- Conclusion
- References
Introduction
The Python datetime module provides classes for manipulating dates and times. It includes functions for parsing and formatting dates, performing arithmetic on date and time objects, and working with time zones. Key classes include datetime, date, time, and timedelta, each offering various methods to handle date and time operations. This module is essential for applications requiring date and time manipulations.
datetime Classes
datetime.date
Represents a date (year, month, and day) in an idealized calendar, independent of any particular day.
from datetime import date
today = date.today()
print(today)
Output:
2024-07-27
datetime.time
Represents a time, independent of any particular day.
from datetime import time
current_time = time(14, 30, 45)
print(current_time)
Output:
14:30:45
datetime.datetime
Combines a date and a time. Attributes: year, month, day, hour, minute, second, microsecond, and tzinfo.
from datetime import datetime
now = datetime.now()
print(now)
Output:
2024-07-27 11:08:22.961065
datetime.timedelta
Represents the difference between two dates or times.
from datetime import timedelta
delta = timedelta(days=5, hours=3, minutes=10)
print(delta)
Output:
5 days, 3:10:00
datetime.tzinfo
An abstract base class for dealing with time zones.
datetime.timezone
A class that implements the tzinfo abstract base class as a fixed offset from the UTC.
from datetime import timezone, timedelta
tz = timezone(timedelta(hours=5, minutes=30))
print(tz)
Output:
UTC+05:30
Common Operations
Creating Dates and Times
Create specific dates, times, and datetime objects.
from datetime import date, time, datetime
specific_date = date(2024, 7, 25)
specific_time = time(14, 30, 45)
specific_datetime = datetime(2024, 7, 25, 14, 30, 45)
print(specific_date, specific_time, specific_datetime)
Output:
2024-07-25 14:30:45 2024-07-25 14:30:45
Formatting and Parsing Dates and Times
Format dates and times using strftime and parse strings into dates and times using strptime.
from datetime import datetime
now = datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)
parsed = datetime.strptime("2024-07-25 14:30:45", "%Y-%m-%d %H:%M:%S")
print(parsed)
Output:
2024-07-27 11:08:23
2024-07-25 14:30:45
Arithmetic with Dates and Times
Add and subtract timedelta objects to perform date and time arithmetic.
from datetime import datetime, timedelta
now = datetime.now()
future = now + timedelta(days=10)
past = now - timedelta(days=10)
print(future, past)
Output:
2024-08-06 11:08:23.216066 2024-07-17 11:08:23.216066
Timezone Handling
Work with timezone-aware dates and times.
from datetime import datetime, timezone, timedelta
now_utc = datetime.now(timezone.utc)
print(now_utc)
local_tz = timezone(timedelta(hours=5, minutes=30))
now_local = now_utc.astimezone(local_tz)
print(now_local)
Output:
2024-07-27 05:38:23.263065+00:00
2024-07-27 11:08:23.263065+05:30
Examples
Current Date and Time
Get the current date and time.
from datetime import datetime
now = datetime.now()
print(now)
Output:
2024-07-27 11:08:23.306067
Formatting Dates and Times
Format the current date and time.
from datetime import datetime
now = datetime.now()
formatted = now.strftime("%A, %B %d, %Y %I:%M%p")
print(formatted)
Output:
Saturday, July 27, 2024 11:08AM
Parsing Strings into Dates and Times
Parse a string into a datetime object.
from datetime import datetime
date_string = "2024-07-25 14:30:45"
parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(parsed_date)
Output:
2024-07-25 14:30:45
Date and Time Arithmetic
Perform arithmetic with dates and times.
from datetime import datetime, timedelta
now = datetime.now()
next_week = now + timedelta(weeks=1)
last_week = now - timedelta(weeks=1)
print(next_week, last_week)
Output:
2024-08-03 11:08:23.460065 2024-07-20 11:08:23.460065
Timezone-Aware Dates and Times
Work with timezone-aware datetime objects.
from datetime import datetime, timezone, timedelta
now_utc = datetime.now(timezone.utc)
print(now_utc)
local_tz = timezone(timedelta(hours=5, minutes=30))
now_local = now_utc.astimezone(local_tz)
print(now_local)
Output:
2024-07-27 05:38:23.501065+00:00
2024-07-27 11:08:23.501065+05:30
Real-World Use Case
Scheduling Future Events
Suppose you are building a scheduling application and need to calculate the date and time for future events.
from datetime import datetime, timedelta
def schedule_event(start_date, days_until_event):
event_date = start_date + timedelta(days=days_until_event)
return event_date
start_date = datetime(2024, 7, 25, 14, 30)
event_date = schedule_event(start_date, 30)
print(f"Event Date: {event_date}")
Output:
Event Date: 2024-08-24 14:30:00
Conclusion
The datetime module in Python provides a robust set of tools for working with dates and times. Whether you need to create specific dates, format them for display, parse strings into dates, perform arithmetic, or handle timezones, the datetime module has you covered. By leveraging these capabilities, you can effectively manage and manipulate date and time data in your applications.
References
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment