day = "13/Oct/2013"
print["Parsing :",day]
day, mon, yr= day.split["/"]
sday = yr+" "+day+" "+mon
myday = time.strptime[sday, '%Y %d %b']
Sstart = yr+" "+time.strftime["%U",myday ]+" 0"
Send = yr+" "+time.strftime["%U",myday ]+" 6"
startweek = time.strptime[Sstart, '%Y %U %w']
endweek = time.strptime[Send, '%Y %U %w']
print["Start of week:",time.strftime["%a, %d %b %Y",startweek]]
print["End of week:",time.strftime["%a, %d %b %Y",endweek]]
print["Data entered:",time.strftime["%a, %d %b %Y",myday]]
out:
Parsing : 13/Oct/2013
Start of week: Sun, 13 Oct 2013
End of week: Sat, 19 Oct 2013
Sun, 13 Oct 2013
Đã học được python trong 2 ngày qua và tự hỏi liệu có cách nào sạch hơn để làm điều này không. Phương pháp này hoạt động ... nó trông thật xấu xí và có vẻ ngớ ngẩn khi phải tạo một biến thời gian mới cho mỗi ngày và nên Hãy là một cách để bù ngày cho đến đầu và cuối tuần thông qua một cuộc gọi đơn giản nhưng tôi không thể tìm thấy bất cứ điều gì trên internet hoặc tài liệu có vẻ như nó sẽ hoạt động.
thisXmas = dateTime.date [2017,12,25].
ThisXmasDay = thisXmas.weekday [].
Chào các cậu,
Trong Python, chúng ta có thể nhận được ngày bắt đầu và ngày kết thúc của tuần bằng Python. Hãy xem ví dụ dưới đây:
Ví dụ 1 :
# import datetime module
from datetime import datetime, timedelta
day = '27/01/2022'
dt = datetime.strptime[day, '%d/%m/%Y']
start = dt - timedelta[days=dt.weekday[]]
end = start + timedelta[days=6]
print["Week Start Date:"+str[start]]
print["Week End Date:"+str[end]]
Đầu ra
Week Start Date:2022-01-24 00:00:00
Week End Date:2022-01-30 00:00:00
Ví dụ 2:
# import datetime module
from datetime import date, timedelta
today = date.today[]
start = today - timedelta[days=today.weekday[]]
end = start + timedelta[days=6]
print["Today: " + str[today]]
print["Week Start: " + str[start]]
print["Week End: " + str[end]]
Đầu ra
Today: 2022-01-28
Week Start: 2022-01-24
Week End: 2022-01-30
Week Start Date:2022-01-24 00:00:00
Week End Date:2022-01-30 00:00:00
#PythonPython
Ví dụ 2:
Trong bài đăng Python này, bạn sẽ học cách in bắt đầu và kết thúc một tuần dựa trên một đối tượng DateTime.print the start and end of a week based on a datetime object.
Hướng dẫn chứa những điều sau đây:
Hãy để nhảy ngay vào ví dụ!
Tạo dữ liệu mẫu mực
Chúng tôi phải nhập mô -đun DateTime, như bạn có thể thấy ở đây:
import datetime # Import datetime module
Tôi sẽ sử dụng các dữ liệu sau làm tầng hầm cho hướng dẫn lập trình Python này:
my_dt = datetime.datetime[2024, 6, 21, 10, 12, 53] # Creating example datetime print[my_dt] # 2024-06-21 10:12:53
Hãy xem đầu ra bảng điều khiển Python trước đó. Nó cho thấy rằng đối tượng DateTime ví dụ của chúng tôi là Thứ Sáu, ngày 21 tháng 6 năm 2024, 10:12:53.
Ví dụ: Nhận bắt đầu và cuối tuần kể từ ngày nhất định
Trong ví dụ này, tôi sẽ minh họa cách tìm ra sự khởi đầu và cuối tuần từ đối tượng DateTime được tạo trước đó của chúng tôi.
Đối với điều này, chúng tôi cũng phải nhập chức năng Timedelta, hãy xem xét mã Python bên dưới:
from datetime import timedelta
Vì chúng tôi chỉ cần các thành phần năm, tháng và ngày để xác định đầu và cuối tuần, chúng tôi trích xuất chúng từ đối tượng DateTime của chúng tôi như bạn có thể thấy ở đây:
my_dt_trunc = datetime.date[my_dt.year, # Truncate time component my_dt.month, my_dt.day] print[my_dt_trunc] # 2024-06-21
Tiếp theo, chúng ta có thể kết hợp các chức năng thời gian và ngày trong tuần để trả lại ngày bắt đầu của tuần:
start_of_week = my_dt_trunc - timedelta[days = my_dt_trunc.weekday[]] # timedelta & weekday print[start_of_week] # Return Start of Week # 2024-06-17
Như bạn có thể thấy trên đầu ra ở trên, tuần bắt đầu vào lúc 2024-06-17, tất nhiên đó là một ngày thứ Hai.
Từ đây, chúng ta có thể chỉ cần đến cuối tuần bằng cách thêm thời gian chứa 6 ngày, hãy xem xét cú pháp Python sau:
0# import datetime module
from datetime import datetime, timedelta
day = '27/01/2022'
dt = datetime.strptime[day, '%d/%m/%Y']
start = dt - timedelta[days=dt.weekday[]]
end = start + timedelta[days=6]
print["Week Start Date:"+str[start]]
print["Week End Date:"+str[end]]
Bây giờ chúng tôi cũng có ngày kết thúc của tuần của chúng tôi, trong trường hợp này là 2024-06-23 [Chủ nhật].
Video, Tài nguyên & Tóm tắt
Bạn có muốn biết thêm về việc trích xuất bắt đầu và kết thúc một tuần được đưa ra bởi một đối tượng DateTime không? Sau đó, bạn có thể muốn xem video sau trên kênh YouTube của tôi. Trong video, tôi đã giải thích mã Python của hướng dẫn hiện tại trong một phiên trực tiếp ở Python.
Video YouTube sẽ sớm được thêm vào.
Bên cạnh đó, bạn có thể xem xét một số hướng dẫn khác trên trang web của tôi:
- Nhận ngày trong tuần từ DateTime trong Python - Số & Tên
- Nhận số tuần của DateTime trong Python
- Giới thiệu về Python
Bài đăng này đã minh họa làm thế nào để trả lại sự khởi đầu và kết thúc của một tuần với một đối tượng DateTime trong ngôn ngữ lập trình Python. Trong trường hợp bạn có thêm câu hỏi và/hoặc nhận xét, hãy cho tôi biết về nó trong các ý kiến.return the beginning and end of a week given a datetime object in the Python programming language. In case you have additional questions and/or comments, tell me about it in the comments.
Trang này được tạo ra với sự hợp tác với Matthias Bäuerlen. Hãy xem trang tác giả Matthias, để có thêm thông tin về nền tảng chuyên môn của anh ấy, một danh sách tất cả các hướng dẫn của anh ấy, cũng như một cái nhìn tổng quan về các nhiệm vụ khác của anh ấy trên toàn cầu thống kê.