Hướng dẫn how do i get the weekly date in python? - làm cách nào để lấy ngày hàng tuần trong python?

Tôi có một yêu cầu để chạy một báo cáo hàng tuần với tuần bắt đầu từ thứ bảy và kết thúc vào thứ Sáu. Tuy nhiên, vì mô -đun DateTime hoặc Lịch có tuần bắt đầu từ thứ Hai, tôi không thể sử dụng tùy chọn ngày trong tuần.

Tôi đã thử tùy chọn dưới đây tuy nhiên nó vẫn cho tôi 5 cho thứ bảy, có bất kỳ tùy chọn nào có sẵn để đặt ngày trong tuần đến thứ bảy để vào thứ bảy là 0 không? để tôi có thể trừ nó từ ngày hiện tại để có được ngày mong muốn hoặc bất kỳ giải pháp nào khác để đạt được

Ví dụ) nếu tôi chạy báo cáo vào ngày 30 tháng 8, nó sẽ lấy dữ liệu cho ngày 18 tháng 8 đến 24 tháng 8

import calendar
calendar.setfirstweekday(calendar.SATURDAY)
calendar.firstweekday()
5

Hỏi ngày 31 tháng 8 năm 2018 lúc 23:52Aug 31, 2018 at 23:52

Hướng dẫn how do i get the weekly date in python? - làm cách nào để lấy ngày hàng tuần trong python?

RajeevrajeevRajeev

9712 Huy hiệu vàng11 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges11 silver badges25 bronze badges

2

Cảm ơn bài đăng Python: Cho dữ liệu bắt đầu và cuối tuần từ một ngày được sửa đổi một chút dựa trên nhu cầu của tôi

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))

Đã trả lời ngày 3 tháng 9 năm 2018 lúc 8:31Sep 3, 2018 at 8:31

RajeevrajeevRajeev

9712 Huy hiệu vàng11 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges11 silver badges25 bronze badges

Cảm ơn bài đăng Python: Cho dữ liệu bắt đầu và cuối tuần từ một ngày được sửa đổi một chút dựa trên nhu cầu của tôi

>>> calendar.setfirstweekday(calendar.MONDAY)
>>> calendar.firstweekday()
0

Đã trả lời ngày 3 tháng 9 năm 2018 lúc 8:31Sep 1, 2018 at 1:18

Nó cung cấp cho bạn 5 cho thứ bảy, vì 0 là thứ hai.Patrick

Đã trả lời ngày 1 tháng 9 năm 2018 lúc 1:181 gold badge20 silver badges42 bronze badges

2

Thêm tuần vào một ngày trong Python #

Sử dụng lớp timedelta() từ mô -đun datetime để thêm tuần vào một ngày, ví dụ:

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
0. Lớp
dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
1 có thể được thông qua đối số
dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
2 và thêm số tuần được chỉ định cho đến ngày.

Copied!

from datetime import datetime, date, timedelta # ✅ add weeks to a date my_str = '09-14-2023' # 👉️ (mm-dd-yyyy) date_1 = datetime.strptime(my_str, '%m-%d-%Y') print(date_1) # 👉️ 2023-09-14 00:00:00 result_1 = date_1 + timedelta(weeks=2) print(result_1) # 👉️ 2023-09-28 00:00:00 # ----------------------------------------------- # ✅ add weeks to current date current_date = datetime.today() print(current_date) # 👉️ 2022-06-20 14:11:16.561585 result_2 = current_date + timedelta(weeks=1) print(result_2) # 👉️ 2022-06-27 14:11:16.561585 # ----------------------------------------------- # ✅ using date instead of datetime date_3 = date(2023, 9, 7) print(date_3) # 👉️ 2023-09-07 result_3 = date_3 + timedelta(weeks=3) print(result_3) # 👉️ 2023-09-28 # ----------------------------------------------- # ✅ add weeks to current date (using date instead of datetime) date_4 = date.today() print(date_4) # 👉️ 2022-06-20 result_4 = date_4 + timedelta(weeks=2) print(result_4) # 👉️ 2022-07-04

Đảm bảo nhập các lớp datetime hoặc

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
4 và Timedelta từ mô -đun datetime.

Trong các ví dụ, chúng tôi đã chuyển đối số từ khóa

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
2 cho lớp
dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
1, nhưng bạn cũng có thể vượt qua
dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
8, ví dụ:
dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
9.

Dù bằng cách nào, tháng (và năm) sẽ lăn qua nếu cần thiết.

Ví dụ đầu tiên sử dụng phương thức DateTime.strptime () để lấy một đối tượng DateTime tương ứng với chuỗi ngày được cung cấp, được phân tích cú pháp theo định dạng được chỉ định.

Khi chúng ta có đối tượng DateTime, chúng ta có thể sử dụng lớp

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
1 để thêm tuần vào nó.

Copied!

from datetime import datetime, date, timedelta # ✅ add weeks to a date my_str = '09-14-2023' # 👉️ (mm-dd-yyyy) date_1 = datetime.strptime(my_str, '%m-%d-%Y') print(date_1) # 👉️ 2023-09-14 00:00:00 result_1 = date_1 + timedelta(weeks=2) print(result_1) # 👉️ 2023-09-28 00:00:00

Chuỗi ngày trong ví dụ được định dạng là

>>> calendar.setfirstweekday(calendar.MONDAY)
>>> calendar.firstweekday()
0
1.

Nếu bạn có một chuỗi ngày được định dạng theo một cách khác, hãy sử dụng bảng này của các tài liệu để tra cứu mã định dạng, bạn nên chuyển làm đối số thứ hai cho phương thức

>>> calendar.setfirstweekday(calendar.MONDAY)
>>> calendar.firstweekday()
0
2.

Ví dụ thứ hai thêm tuần vào ngày hiện tại.

Copied!

from datetime import datetime, timedelta current_date = datetime.today() print(current_date) # 👉️ 2022-06-20 14:11:16.561585 result_2 = current_date + timedelta(weeks=1) print(result_2) # 👉️ 2022-06-27 14:11:16.561585

Phương thức DateTime.today () trả về DateTime cục bộ hiện tại.

Ví dụ thứ ba sử dụng lớp

>>> calendar.setfirstweekday(calendar.MONDAY)
>>> calendar.firstweekday()
0
3 thay vì lớp datetime khi thêm tuần vào ngày.

Copied!

from datetime import date, timedelta date_3 = date(2023, 9, 7) print(date_3) # 👉️ 2023-09-07 result_3 = date_3 + timedelta(weeks=3) print(result_3) # 👉️ 2023-09-28

Lớp datetime.timedelta có thể được thông qua các tuần chúng tôi muốn thêm vào các đối tượng

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
4 hoặc datetime.

Ví dụ thứ tư thêm tuần vào một đối tượng

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
4 đại diện cho ngày hiện tại.

Copied!

from datetime import date, timedelta date_4 = date.today() print(date_4) # 👉️ 2022-06-20 result_4 = date_4 + timedelta(weeks=2) print(result_4) # 👉️ 2022-07-04

Phương thức ngày.Today trả về một đối tượng

dt = datetime.now()
start = (dt - timedelta(days = (dt.weekday() + 2) % 7))  - timedelta(days=7)
end = (start + timedelta(days=6))
print(start.strftime("%Y-%m-%d"))
print(end.strftime("%Y-%m-%d"))
4 đại diện cho ngày cục bộ hiện tại.

Làm thế nào để tôi có được ngày hàng tuần hiện tại trong Python?

Sử dụng get_week_dates (ngày.today (), 1, 7) để có được ngày trong tuần hiện tại.get_week_dates(date. today(), 1, 7) to get current week dates.

Làm thế nào để tôi có được ngày thứ hai trong tuần hiện tại ở Python?

Thuật toán (các bước) Sử dụng từ khóa nhập, để nhập mô -đun DateTime (để làm việc với ngày và thời gian).Sử dụng hàm TODAY () (nhận ngày địa phương hiện tại), để có được ngày địa phương hiện tại của ngày hôm nay và in nó.Tăng ngày hôm nay với 1 tuần bằng cách vượt qua các tuần là 1 như một đối số cho hàm Timedelta ().Use the today() function(gets the current local date), to get today's current local date and print it. Increment the Today's date with 1 week by passing the weeks as 1 as an argument to the timedelta() function.