특정 날짜, 예를 들어 2011-07-02라고하면 그 날짜 이후 다음 월요일 (또는 해당 요일)의 날짜를 어떻게 찾을 수 있습니까?주어진 날짜 이후 첫 번째 월요일의 날짜 찾기
답변
import datetime
def next_weekday(d, weekday):
days_ahead = weekday - d.weekday()
if days_ahead <= 0: # Target day already happened this week
days_ahead += 7
return d + datetime.timedelta(days_ahead)
d = datetime.date(2011, 7, 2)
next_monday = next_weekday(d, 0) # 0 = Monday, 1=Tuesday, 2=Wednesday...
print(next_monday)
다음 월요일 7 일 월요일 후 6 일 화요일 후, 등, 또한, 사용하고, 사용
>>> dt = datetime(2011, 7, 2)
>>> dt + timedelta(days=(7 - dt.weekday()))
datetime.datetime(2011, 7, 4, 0, 0)
을 시도하는 파이썬의 datetime
형보고 월요일로 0
, ..., 일요일은 6
입니다.
(2012 년 1 월 1 일)에 datetime (2013, 1) 이후에 일요일을 찾으려고 할 때 "datetime , 1) + timedelta (days = (7 - datetime (2013, 1, 1) .weekday())) ","datetime.datetime (2013, 1, 7, 0, 0) . – fixxxer
@fixxxer - 답변에서 말한 것처럼 : 코드는'datetime' API의 몇 가지 속성을 사용합니다.이 속성은 월요일에만 찾는 경우에만 작동합니다. 'phihag'에서 제공하는 코드는 좀 더 일반적이며 다가오는 요일을 찾을 수 있습니다. – Dirk
timedelta에서 7 대신 6을 사용하면 도움이 될 것이라고 생각하십니까? – fixxxer
날짜 개체를 추가하고 월요일이되면 개체를 중지 할 수 있습니다.
>>> d = datetime.date(2011, 7, 2)
>>> while d.weekday() != 0: #0 for monday
... d += datetime.timedelta(days=1)
...
>>> d
datetime.date(2011, 7, 4)
이 처음 다음주 월요일을 한 후 지정된 날짜 줄 것이다 :
import datetime
def get_next_monday(year, month, day):
date0 = datetime.date(year, month, day)
next_monday = date0 + datetime.timedelta(7 - date0.weekday() or 7)
return next_monday
print get_next_monday(2011, 7, 2)
print get_next_monday(2015, 8, 31)
print get_next_monday(2015, 9, 1)
2011-07-04
2015년 9월 7일
2015년 9월 7일
목록을 통해를 이해?
from datetime import *
[datetime.today()+timedelta(days=x) for x in range(0,7) if (datetime.today()+timedelta(days=x)).weekday() % 7 == 0]
(0 at the end is for next monday, returns current date when run on monday)
weekday = 0 ## Monday
dt = datetime.datetime.now().replace(hour=0, minute=0, second=0) ## or any specific date
days_remaining = (weekday - dt.weekday() - 1) % 7 + 1
next_dt = dt + datetime.timedelta(days_remaining)
다음은 위의 약간 무게 답변을 간결 및 일반 대안입니다.
이 답변은 upvotes를 수집하기에는 너무 늦게 도착했지만, 내가 제일 좋아하는 것입니다. – ASalazar
매우 깨끗합니다, 제 표를 받았습니다. – Liquidgenius
또 다른 간단하고 우아한 해결책은 팬더 오프셋을 사용하는 것입니다.
날짜를 가지고 놀면 매우 유용하고 견고합니다.
- 첫 번째 일요일을 원한다면 주파수를 freq = 'W-SUN'으로 수정하십시오.
- 다음 일요일에 두 개가 필요하면 offset (일)을 변경하십시오.
- 팬더 오프셋을 사용하면 공휴일을 무시할 수 있으며 영업일에만 사용할 수 있습니다.
또한 적용 메서드를 사용하여 전체 DataFrame에서이 메서드를 쉽게 적용 할 수 있습니다.
# Getting the closest monday from a given date
closest_monday = pd.date_range(start=date, end=date + offsets.Day(6), freq='W-MON')[0]
# Adding a 'ClosestMonday' column with the closest monday for each row in a pandas df using apply
# Require you to have a 'Date' column in your df
def get_closest_monday(row):
return pd.date_range(start=row.Date, end=row.Date + offsets.Day(6), freq='W-MON')[0]
df['ClosestMonday'] = df.apply(lambda row: get_closest_monday(row), axis=1)
import datetime
d = datetime.date(2011, 7, 2)
while d.weekday() != 0:
d += datetime.timedelta(1)
- 1. iPhone - 월요일의 첫 번째 요일로 일하는 방법
- 2. PHP 4에서 이번 주 월요일의 날짜 받기
- 3. VBA에 추가되는 첫 번째 주 날짜
- 4. JQuery를 사용하여 날짜 찾기
- 5. javascript - 현재 날짜가 주어진 날짜 이후 x 일입니까?
- 6. PHP에서 n 번째 주 월요일의 날짜를 찾으십니까?
- 7. 날짜 수집에서 평균 날짜 찾기 (루비)
- 8. 날짜 범위 사이의 특정 월의 날짜 찾기
- 9. 두 날짜 사이에 누락 날짜 찾기
- 10. 컬렉션에서 누락 날짜 찾기
- 11. SQL에서 중복되는 날짜 찾기
- 12. 그 날짜 범위 지정된 날짜
- 13. jquery에서 첫 번째 ID 찾기
- 14. 콘텐츠의 첫 번째 이미지 찾기
- 15. 특정 날짜 이후 Excel 문서 잠그기
- 16. SQL은 - 현재 날짜/시간 이후 기록을 선택
- 17. 특정 날짜 이후 자동 업데이트가 전달됨
- 18. 날짜 범위 또는 첫 번째 X 항목에 의한 Mysqldump?
- 19. JavaScript의 현재 날짜에서 지난 달의 첫 번째 날짜 가져 오기
- 20. 첫 번째 필드에 값이있는 경우에만 날짜 피커 사용
- 21. PHP 다차원 배열이 첫 번째 날짜 값을 얻습니다.
- 22. 주어진 범위 사이의 날짜 검색 - Lotus
- 23. 문자열에서 문자열 배열의 첫 번째 위치 찾기
- 24. PHP5에서 로케일 날짜 표시 찾기
- 25. 복잡한 날짜 찾기 및 삽입
- 26. 날짜 찾기 휴지통 마지막 비었습니다
- 27. 가장 빠른 날짜 찾기 - PHP
- 28. SQL 쿼리 찾기 날짜 별 특정 레코드
- 29. Linq2SQL 또는 SQL : 이벤트가없는 날짜 찾기
- 30. 주어진 @comments - 첫 번째 레코드를 제외하는 방법
http://docs.python.org/library/datetime.html#datetime.date.weekday 당신도 할 수 –