In Ra Số Ngày trong Tháng trong Python | Laptrinhcanban.com

HOME › >>

In Ra Số Ngày trong Tháng trong Python

Khi lập trình trong Python, việc tính toán số ngày trong một tháng cụ thể là một yêu cầu phổ biến, đặc biệt trong các ứng dụng liên quan đến lịch, thời gian và quản lý thời gian. Python cung cấp các cách để bạn có thể dễ dàng tìm hiểu số ngày trong tháng và thậm chí kiểm tra năm nhuận. Trong bài viết này, chúng ta sẽ tìm hiểu về cách tính số ngày trong một tháng và xác định năm nhuận trong Python.

Sử dụng Thư viện datetime

Thư viện datetime trong Python là một công cụ mạnh mẽ để làm việc với thời gian và lịch. Để tính số ngày trong một tháng, bạn có thể sử dụng lớp date của thư viện datetime. Dưới đây là cách sử dụng datetime để tính số ngày trong một tháng:

import datetime

def days_in_month(year, month):
# Tạo một đối tượng date đại diện cho ngày đầu tiên của tháng.
first_day_of_month = datetime.date(year, month, 1)

# Tính ngày tiếp theo (đầu tháng sau).
next_month = first_day_of_month.replace(month=month % 12 + 1, year=year + month // 12)

# Trừ ngày đầu tháng của tháng sau với ngày đầu tháng hiện tại để tính số ngày trong tháng.
days = (next_month - first_day_of_month).days
return days

Ví dụ, để tính số ngày trong tháng 9 năm 2023, bạn có thể gọi hàm days_in_month(2023, 9).

Sử dụng Thư viện calendar

Thư viện calendar là một thư viện mạnh mẽ cho công việc liên quan đến lịch trong Python. Để tính số ngày trong một tháng, bạn có thể sử dụng lớp calendar.monthrange(). Dưới đây là cách sử dụng thư viện calendar để tính số ngày trong một tháng:

import calendar

def days_in_month(year, month):
_, days = calendar.monthrange(year, month)
return days

Hàm calendar.monthrange() trả về một bộ gồm hai giá trị: ngày đầu tiên của tháng (0-6) và số ngày trong tháng. Chúng ta sử dụng số ngày trong tháng để tính toán và trả về kết quả.

Xác định năm nhuận

Trong lịch Gregory, năm nhuận là năm có một ngày nhuận (29 tháng 2) được thêm vào, và các năm không nhuận có 28 ngày trong tháng 2. Để xác định năm nhuận, chúng ta có thể sử dụng các quy tắc sau:

  1. Mọi năm chia hết cho 4 là năm nhuận, ngoại trừ:
  2. Năm không chia hết cho 100 không phải là năm nhuận.
  3. Năm chia hết cho 400 lại là năm nhuận.

Dưới đây là một hàm xác định năm nhuận trong Python:

def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False

Hãy sử dụng hàm is_leap_year(year) để kiểm tra xem một năm có phải là năm nhuận hay không.

Sử dụng Thư viện dateutil

Thư viện dateutil cung cấp một số công cụ tiện lợi để làm việc với thời gian và lịch trong Python. Để tính số ngày trong một tháng, bạn có thể sử dụng hàm monthrange từ dateutil.relativedelta. Dưới đây là cách sử dụng thư viện dateutil để tính số ngày trong một tháng:

from dateutil.relativedelta import relativedelta
from datetime import datetime

def days_in_month(year, month):
start_date = datetime(year, month, 1)


end_date = start_date + relativedelta(months=1)
days = (end_date - start_date).days
return days

Hàm này tính toán số ngày trong tháng bằng cách tạo một ngày đầu tháng và một ngày cuối tháng, sau đó trừ chúng để lấy số ngày trong tháng.

Kết luận

Trên đây Kiyoshi đã hướng dẫn bạn về cách in ra số ngày trong tháng python rồi. Trong Python, bạn có nhiều cách để tính số ngày trong một tháng và xác định năm nhuận. Thư viện datetime, calendar, dateutil, và các quy tắc đơn giản giúp bạn thực hiện công việc này dễ dàng. Việc biết cách tính số ngày trong tháng và kiểm tra năm nhuận quan trọng trong việc lập trình ứng dụng liên quan đến thời gian và lịch, giúp bạn đảm bảo tính chính xác và hiệu quả trong quản lý thời gian.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/so-trong-python/in-ra-so-ngay-trong-thang-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.