Kiểu ngày trong Python

Trong Python, kiểu dữ liệu ngày tháng năm (date) được xử lý chủ yếu bằng thư viện datetime. Thư viện này cung cấp các lớp giúp bạn làm việc với ngày tháng và giờ.

1. Kiểu ngày trong Python là gì ?

Là kiểu dữ liệu chứa nhiều thành phần, gồm ngày, tháng,năm, giờ, phút, giây

Kiểu ngày trong Python

2. Các lớp trong datetime trong Python

    date: Đại diện cho ngày (ngày, tháng, năm).
    time: Đại diện cho thời gian (giờ, phút, giây, micro giây).
    datetime: Kết hợp cả ngày và thời gian (ngày, tháng, năm, giờ, phút, giây, micro giây).
    timedelta: Đại diện cho sự khác biệt giữa hai ngày/giờ.

3. Hướng dẫn cách làm việc với biến kiểu ngày trong Python

Làm việc với kiểu date trong Python

        Để tạo một đối tượng date, bạn sử dụng lớp datetime.date(year, month, day).

import datetime
# Tạo một đối tượng date
today = datetime.date(2025, 2, 18)
print("Hôm nay là:", today)

Lấy ngày hiện tại trong Python

    Dùng phương thức today() để lấy ngày hiện tại.

today = datetime.date.today()
print("Ngày hôm nay:", today)

Làm việc với kiểu datetime

    Để tạo một đối tượng datetime, bạn sử dụng lớp datetime.datetime(year, month, day, hour, minute, second).

import datetime
now = datetime.datetime(2025, 2, 18, 14, 30, 0)
print("Thời gian hiện tại là:", now)

Lấy thời gian hiện tại trong Python

    Dùng phương thức now() để lấy ngày và giờ hiện tại.

now = datetime.datetime.now()
print("Ngày và giờ hiện tại:", now)

Tính toán với kiểu timedelta

    timedelta được sử dụng để tính toán sự khác biệt giữa hai ngày hoặc thêm bớt ngày giờ.

    import datetime
    today = datetime.date.today()
    one_day_later = today + datetime.timedelta(days=1)
    print("Ngày mai:", one_day_later)

Ví dụ kết hợp các kiểu dữ liệu ngày và giờ

import datetime
# Lấy ngày và giờ hiện tại
now = datetime.datetime.now()

# In ra ngày hiện tại
print("Ngày hiện tại:", now.date())

# In ra giờ hiện tại
print("Giờ hiện tại:", now.time())

# Thêm 10 ngày vào ngày hiện tại
ten_days_later = now + datetime.timedelta(days=10)
print("Ngày sau 10 ngày:", ten_days_later.date())

strftime(format)

    Định dạng ngày giờ theo một chuỗi mẫu.

  strftime là viết tắt của "string format time". Đây là một hàm trong lập trình, đặc biệt là trong Python, dùng để chuyển đổi đối tượng thời gian (time object) thành chuỗi (string) theo định dạng mà người dùng yêu cầu.

today = datetime.date.today()
formatted_date = today.strftime("%d/%m/%Y")
print("Ngày định dạng:", formatted_date)

Cú pháp strftime trong Python được sử dụng để chuyển đổi một đối tượng datetime thành chuỗi với định dạng mà bạn chỉ định. Hàm strftime sử dụng các ký hiệu đặc biệt để định dạng ngày và giờ.

Cú pháp chung của strftime là:
datetime_object.strftime(format)

Trong đó:

    datetime_object là một đối tượng datetime hoặc date (tạo từ module datetime).
    format là chuỗi định dạng mà bạn muốn sử dụng.

Dưới đây là một số ký hiệu thường dùng trong strftime để định dạng ngày và giờ:
Các ký hiệu định dạng phổ biến trong strftime:
Đối với ngày tháng:

    %Y: Năm đầy đủ (ví dụ: 2025)
    %y: Hai chữ số cuối của năm (ví dụ: 25)
    %m: Tháng (01 đến 12)
    %d: Ngày trong tháng (01 đến 31)
    %A: Tên đầy đủ của ngày trong tuần (ví dụ: Monday, Tuesday)
    %a: Viết tắt của tên ngày trong tuần (ví dụ: Mon, Tue)
    %B: Tên đầy đủ của tháng (ví dụ: January, February)
    %b: Viết tắt của tên tháng (ví dụ: Jan, Feb)

Đối với giờ, phút, giây:

    %H: Giờ theo định dạng 24 giờ (00 đến 23)
    %I: Giờ theo định dạng 12 giờ (01 đến 12)
    %M: Phút (00 đến 59)
    %S: Giây (00 đến 59)
    %p: AM/PM (ví dụ: AM, PM)

import datetime

# Tạo một đối tượng datetime
now = datetime.datetime.now()

# Định dạng ngày giờ theo yêu cầu
formatted_date = now.strftime("%A, %d %B %Y, %I:%M %p")

# In kết quả
print(formatted_date)

 strptime(date_string, format)

  Chuyển đổi chuỗi thành đối tượng datetime theo định dạng cho trước.

  strptime là viết tắt của "string parse time", là hàm dùng để chuyển đổi một chuỗi (string) thành đối tượng thời gian (time object) theo định dạng mà người dùng chỉ định.

 Cú pháp strptime

datetime.strptime(date_string, format)

    date_string: Chuỗi chứa ngày tháng và thời gian cần chuyển đổi.
    format: Định dạng ngày tháng, giờ mà chuỗi đầu vào có.

Ví dụ:

Giả sử bạn có chuỗi "2025-02-22 14:30:00", và bạn muốn chuyển nó thành một đối tượng datetime:

from datetime import datetime

date_string = "2025-02-22 14:30:00"
format = "%Y-%m-%d %H:%M:%S"

# Chuyển chuỗi thành đối tượng datetime
date_object = datetime.strptime(date_string, format)

print(date_object)


Kết quả:

2025-02-22 14:30:00

 Trong ví dụ trên:

    %Y là năm (4 chữ số)
    %m là tháng (2 chữ số)
    %d là ngày (2 chữ số)
    %H là giờ (theo định dạng 24 giờ)
    %M là phút
    %S là giây

 

 

Trong Python, kiểu dữ liệu ngày tháng năm (date) được xử lý chủ yếu bằng thư viện datetime. Thư viện này cung cấp các lớp giúp bạn làm việc với ngày tháng và giờ.