Trăn ngày của năm đến tháng và ngày

Có một số cách để lấy ngày trong năm cho một ngày nhất định trong lập trình Python. Dưới đây là một số phương pháp

Phương pháp (1) Sử dụng timetuple

timetupil() là một phương thức trong mô-đun datetime trả về một bộ dữ liệu được đặt tên với một số thuộc tính ngày và giờ. Một trong những thuộc tính là tm_yday là ngày trong năm. Đây là một ví dụ sử dụng timetupil()

## Finding day of year
from datetime import datetime, date

# Current date
day_of_year = datetime.now().timetuple().tm_yday
print("\nDay of year: ", day_of_year, "\n")

# Specific date
day_of_year = date(2007, 12, 31).timetuple().tm_yday
print("Day of year: ", day_of_year, "\n")

Trăn ngày của năm đến tháng và ngày
Trăn ngày của năm đến tháng và ngày

Phương pháp (2) Sử dụng toordinal

Trong phương thức này, chúng ta đang sử dụng phương thức toordinal(). toordinal() trả về số ngày kể từ ngày đầu tiên của lịch Gregorian. Sử dụng điều này, chúng ta có thể lấy số ngày từ 01/01/0001 cho một ngày cụ thể và sau đó trừ với ngày đầu tiên của năm của ngày cụ thể để có được ngày trong năm. Đây là một ví dụ

## Finding day of year
from datetime import date

date_val = date(2007, 7, 23)

day_of_year = date_val.toordinal() - date(date_val.year, 1, 1).toordinal() + 1

print("\nDay of year: ", day_of_year, "\n")

Phương pháp (3) Sử dụng strftime

Một cách khác là sử dụng strftime(). Trong strftime() có lệnh %j trả về ngày trong năm. Đây là một ví dụ

Ghi chú. trong khi chuyển đổi số ngày đã cho thành năm, tháng và ngày phép chia số nguyên được sử dụng. Trong Python, phép chia số nguyên được thực hiện bằng cách sử dụng toán tử //

Mã nguồn Python. Chuyển đổi ngày sang năm, tháng và ngày


# Python program to convert 
# given number of days to years, months and days

# Reading number of days from user
number_of_days = int(input("Enter number of days: "))

# Calculating years
years = number_of_days // 365

# Calculating months
months = (number_of_days - years *365) // 30

# Calculating days
days = (number_of_days - years * 365 - months*30)

# Displaying results
print("Years = ", years)
print("Months = ", months)
print("Days = ", days)

đầu ra

Enter number of days: 3000
Years =  8
Months =  2
Days =  20

Ngày tháng trong Python không phải là kiểu dữ liệu của riêng nó, nhưng chúng ta có thể nhập một mô-đun có tên datetime để làm việc với ngày tháng dưới dạng đối tượng ngày tháng

Thí dụ

Nhập mô-đun datetime và hiển thị ngày hiện tại

nhập ngày giờ

x = ngày giờ. ngày giờ. bây giờ()
in(x)

Tự mình thử »


Xuất ngày

Khi chúng tôi thực thi mã từ ví dụ trên, kết quả sẽ là

Ngày chứa năm, tháng, ngày, giờ, phút, giây và micro giây

Mô-đun datetime có nhiều phương thức để trả về thông tin về đối tượng ngày tháng

Dưới đây là một vài ví dụ, bạn sẽ tìm hiểu thêm về chúng ở phần sau của chương này

Thí dụ

Trả về năm và tên của ngày trong tuần

nhập ngày giờ

x = ngày giờ. ngày giờ. bây giờ()

in(x. năm)
in(x. strftime("%A"))

Tự mình thử »


Tạo đối tượng ngày

Để tạo ngày, chúng ta có thể sử dụng lớp datetime() (hàm tạo) của mô-đun datetime

Lớp datetime() yêu cầu ba tham số để tạo ngày. năm tháng ngày

Thí dụ

Tạo một đối tượng ngày

nhập ngày giờ

x = ngày giờ. ngày giờ(2020, 5, 17)

in(x)

Tự mình thử »

Lớp datetime() cũng nhận tham số về thời gian và múi giờ (giờ, phút, giây, micro giây, tzone), nhưng chúng là tùy chọn và có giá trị mặc định là

## Finding day of year
from datetime import date

date_val = date(2007, 7, 23)

day_of_year = date_val.toordinal() - date(date_val.year, 1, 1).toordinal() + 1

print("\nDay of year: ", day_of_year, "\n")
1, (
## Finding day of year
from datetime import date

date_val = date(2007, 7, 23)

day_of_year = date_val.toordinal() - date(date_val.year, 1, 1).toordinal() + 1

print("\nDay of year: ", day_of_year, "\n")
2 cho múi giờ)



Phương thức strftime()

Đối tượng datetime có phương thức định dạng đối tượng ngày tháng thành các chuỗi có thể đọc được

Phương thức này được gọi là

## Finding day of year
from datetime import date

date_val = date(2007, 7, 23)

day_of_year = date_val.toordinal() - date(date_val.year, 1, 1).toordinal() + 1

print("\nDay of year: ", day_of_year, "\n")
4 và nhận một tham số, datetime0, để chỉ định định dạng của chuỗi được trả về

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trình chỉnh sửa mã Python

Đóng góp mã và nhận xét của bạn thông qua Disqus

Trước. Viết chương trình Python để cộng 5 giây với thời gian hiện tại.
Tiếp theo. Viết chương trình Python để lấy thời gian hiện tại tính bằng mili giây.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Chia sẻ Hướng dẫn / Bài tập này trên. FacebookTwitter

con trăn. Lời khuyên trong ngày

Toán tử số học linh hoạt

Mọi người đều có thể làm số học với các số nhưng Python cũng có thể làm số học với các số không phải là số. Bạn có thể thêm chuỗi và danh sách bằng toán tử số học + trong Python. asd + asd = asdasd