Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Tìm cách tận dụng

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
5 để có được ngày bắt đầu và kết thúc tuần trước, Chủ nhật đến thứ Bảy.

Vì vậy, nếu đó là 8/12/13 hôm nay, tôi muốn xác định một hàm in:

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
6

Làm thế nào để tôi viết về điều này?

Chỉnh sửa: Được rồi, vì vậy dường như có một số câu hỏi về các trường hợp cạnh. Đối với các ngày thứ Bảy, tôi muốn cùng một tuần, đối với bất cứ điều gì khác, tôi muốn tuần dương lịch ngay trước ngày ____ 17.

Hỏi ngày 13 tháng 8 năm 2013 lúc 4:11Aug 13, 2013 at 4:11

Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Foxfoxfox

14.2K20 Huy hiệu vàng55 Huy hiệu bạc84 Huy hiệu đồng20 gold badges55 silver badges84 bronze badges

7

DateTime.Date.Weekday Trả về

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
8 cho thứ Hai. Bạn cần phải điều chỉnh điều đó.

Thử sau:

>>> import datetime
>>> today = datetime.date.today()
>>> today
datetime.date(2013, 8, 13)
>>> idx = (today.weekday() + 1) % 7 # MON = 0, SUN = 6 -> SUN = 0 .. SAT = 6
>>> idx
2
>>> sun = today - datetime.timedelta(7+idx)
>>> sat = today - datetime.timedelta(7+idx-6)
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'

Nếu bạn được phép sử dụng python-dateutil:

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'

Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Jroddynamite

11.9k3 Huy hiệu vàng41 Huy hiệu bạc57 Huy hiệu đồng3 gold badges41 silver badges57 bronze badges

Đã trả lời ngày 13 tháng 8 năm 2013 lúc 4:26Aug 13, 2013 at 4:26

Falsetrufalsetrufalsetru

345K59 Huy hiệu vàng690 Huy hiệu bạc613 Huy hiệu Đồng59 gold badges690 silver badges613 bronze badges

5

Tôi đã tìm thấy câu trả lời tốt nhất từ ​​đây làm việc tốt trong trường hợp của tôi

thử cái này

from datetime import datetime,timedelta
import time

def last_day(d, day_name):
    days_of_week = ['sunday','monday','tuesday','wednesday',
                        'thursday','friday','saturday']
    target_day = days_of_week.index(day_name.lower())
    delta_day = target_day - d.isoweekday()
    if delta_day >= 0: delta_day -= 7 # go back 7 days
    return d + timedelta(days=delta_day)

Đã trả lời ngày 7 tháng 11 năm 2013 lúc 11:47Nov 7, 2013 at 11:47

Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Kartheekkartheekkartheek

6.1443 huy hiệu vàng41 Huy hiệu bạc41 Huy hiệu đồng3 gold badges41 silver badges41 bronze badges

2

from datetime import date

def satandsun(input):
    d = input.toordinal()
    last = d - 6
    sunday = last - (last % 7)
    saturday = sunday + 6
    print date.fromordinal(sunday)
    print date.fromordinal(saturday)

Lưu ý rằng điều này dường như tồn tại tất cả các trường hợp của bạn:

>>> satandsun(date(2013, 8, 10))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 11))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 12))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 13))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 14))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 15))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 16))
2013-08-04
2013-08-10
>>> satandsun(date(2013, 8, 17))
2013-08-11
2013-08-17

Đã trả lời ngày 13 tháng 8 năm 2013 lúc 4:35Aug 13, 2013 at 4:35

Jasonjasonjason

Phù thủy vàng 232K33417 Huy hiệu bạc519 Huy hiệu đồng33 gold badges417 silver badges519 bronze badges

0

import datetime

d = datetime.datetime.today()    
sat_offset = (d.weekday() - 5) % 7  
saturday = d - datetime.timedelta(days=sat_offset)    
print("Last Saturday was on", saturday)
sun_offset = (d.weekday() - 6) % 7
sunday = d - datetime.timedelta(days=sun_offset)
print("Last Sunday was on", sunday)

Đã trả lời ngày 24 tháng 10 năm 2018 lúc 11:38Oct 24, 2018 at 11:38

>>> today = date.today().toordinal()
>>> lastWeek = today-7
>>> sunday = lastWeek - (lastWeek % 7)
>>> saturday = sunday + 6
>>> print "Last Sunday was %s and last Saturday was %s" % (date.fromordinal(sunday), date.fromordinal(saturday))
Last Sunday was 2013-08-04 and last Saturday was 2013-08-10

Đã trả lời ngày 13 tháng 8 năm 2013 lúc 4:27Aug 13, 2013 at 4:27

RobᵩrobᵩRobᵩ

158K17 Huy hiệu vàng226 Huy hiệu bạc 301 Huy hiệu đồng17 gold badges226 silver badges301 bronze badges

2

Khi tôi đối phó với điều này, tôi đã đi kèm với giải pháp này:

from datetime import datetime, timedelta

def prior_week_end():
    return datetime.now() - timedelta(days=((datetime.now().isoweekday() + 1) % 7))

def prior_week_start():
    return prior_week_end() - timedelta(days=6)

Vì vậy, OP có thể sử dụng nó như:

'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(prior_week_start(), prior_week_end())

Đã trả lời ngày 7 tháng 8 năm 2018 lúc 7:48Aug 7, 2018 at 7:48

Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Jozojozojozo

3.6321 Huy hiệu vàng24 Huy hiệu bạc29 Huy hiệu đồng1 gold badge24 silver badges29 bronze badges

Mã sau làm việc cho tôi:

    today = datetime.date.today()
    last_sunday_offset = today.weekday() + 1  # convert day format mon-sun=0-6 => sun-sat=0-6 
    last_sunday = today - datetime.timedelta(days=last_sunday_offset)

Lưu ý: Ở trên tôi đã lấy ngày trong tuần bình thường (0 cho thứ Hai) nhưng vào Thứ Hai ISOWEEKDAY sẽ là 1. Để biết thêm chi tiết, bạn có thể xem ra ngoài trong tuần () và iSoweekDay () Phương thức của Python tích hợp gói DateTime.py:weekday() and isoweekday() method of python built-in package datetime.py:

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
0

Đã trả lời ngày 16 tháng 4 năm 2021 lúc 11:04Apr 16, 2021 at 11:04

Hướng dẫn how do i get the sunday date in python? - làm cách nào để lấy ngày chủ nhật trong python?

Đây là những gì tôi đã làm:

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
1

Vì vậy, bây giờ tôi có thể chạy ..

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
2

hoặc bất kỳ ngày nào trong tuần

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
3

Đã trả lời ngày 13 tháng 2 lúc 18:21Feb 13 at 18:21

Greggregreg

Phù hiệu bằng đồng 2344 bronze badges

Cách đơn giản nhất là:

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'
4

Hôm nay được đặt thành UTC, hãy thoải mái sử dụng cách ưa thích của bạn.

Đã trả lời ngày 12 tháng 4 lúc 12:06Apr 12 at 12:06

Làm thế nào để bạn có được Chủ nhật trong Python?

Sử dụng DateTime's WisoweekDay () thay vì Ngày trong tuần () để có được số ngày trong tuần (0 cho Chủ nhật, 1 cho Thứ Hai, v.v.) ....
@jderefinko isoweekday () trở lại 7 cho Chủ nhật. ....
Hôm nay = DateTime.Date (2019, 6, 29) trở lại 2019-06-16 cho Chủ nhật tuần trước khi nó sẽ là 2019-06-23 ..

Làm thế nào để tôi có được Chủ nhật giữa hai ngày trong Python?

Ngày bổ sung (-1); DateTime sdate = yourStartDate; Timespan ts = fdate - sdate; var sundays = ((ts.totaldays / 7) + (sdate.dayofweek == dayofweek.sunday || fdate. TotalDays / 7) + (sdate. DayOfWeek == DayOfWeek. Sunday || fdate.

Làm cách nào để mã ngày trong Python?

Ví dụ 1: Python Nhận ngày hôm nay sau đó, chúng tôi đã sử dụng phương thức Date.Today () để có được ngày địa phương hiện tại.Nhân tiện, ngày.today () trả về một đối tượng ngày, được gán cho biến ngày hôm nay trong chương trình trên.Bây giờ, bạn có thể sử dụng phương thức strftime () để tạo một chuỗi đại diện ở các định dạng khác nhau.date.today() method to get the current local date. By the way, date.today() returns a date object, which is assigned to the today variable in the above program. Now, you can use the strftime() method to create a string representing date in different formats.

Làm cách nào để kiểm tra cuối tuần ở Python?

main.py..
Từ DateTime Nhập DateTime ..
# Nhận số ngày từ ngày trong tuần ..
WeekNo = DateTime.hôm nay().Ngày trong tuần ().
Nếu WeekNo <5:.
In ("Hôm nay là một ngày trong tuần").
# 5 Sat, 6 Sun ..
In ("Hôm nay là một ngày cuối tuần").