시작일에 대한주의 시작을 찾는 더 간단한 방법

올렉

다음 두 변수가 주어지면 한주의 시작 (날짜 시간)을 찾아야합니다.

  1. now -현재 날짜 시간
  2. START_DAY - "주 시작"으로 간주하는 요일 (0-6, 여기서 0은 월요일, 6은 일요일)

우리는 루핑을 사용할 수 있지만 이것은 간단한 문제에 대해 너무 많은 단계처럼 보입니다.

week_start = datetime(now.year, now.month, now.day)
while week_start.weekday() != START_DAY:
    week_start = week_start - timedelta(days=1)

START_DAY항상 0(월요일) 이면 정말 쉽습니다 .

week_start = datetime(now.year, now.month, now.day) - timedelta(days=now.weekday())

또는 항상 6(일요일) :

week_start = datetime(now.year, now.month, now.day) - timedelta(days=(0 if now.weekday() == START_DAY else now.weekday() + 1))

의 값에 대한주의 시작을 계산하는 간단한 방법은 무엇입니까 START_DAY?

제로 피레 우스

START_DAY사이의 일 수 nownow.weekday() - START_DAY입니다. 그러나 오늘이 이전 START_DAY이면 (예 : 오늘이 수요일이고 START_DATE6 = 일요일 인 경우) 해당 숫자는 음수가되고 오늘에서 빼면 미래의 날짜가됩니다.

아마 원하지 않을 것이므로 모듈로 7의 차이가 필요합니다.

week_start = now.date() - timedelta(days=(now.weekday() - START_DAY) % 7)

예 :

>>> from datetime import datetime, timedelta
>>> now = datetime(2017, 2, 1)
>>> print(now.strftime("%d/%m/%y (%a)"))
01/02/17 (Wed)
>>> for START_DAY in range(7):
...     start_week = now.date() - timedelta(days=(now.weekday() - START_DAY) % 7)
...     print(start_week.strftime("%d/%m/%y (%a)"))
... 
30/01/17 (Mon)
31/01/17 (Tue)
01/02/17 (Wed)
26/01/17 (Thu)
27/01/17 (Fri)
28/01/17 (Sat)
29/01/17 (Sun)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

미국 시장 시간에 대한 크론 일정을 작성하는 방법

분류에서Dev

미국 시장 시간에 대한 크론 일정을 작성하는 방법

분류에서Dev

앱 셸에 파일을 통합하는 더 간단한 방법

분류에서Dev

여러 시간대에 대한 단일 크론 작업을 관리하는 방법

분류에서Dev

`pivot_longer` 작업-예상되는 출력을 얻는 더 간단한 방법?

분류에서Dev

Torch REPL에 대한 시작 파일을 지정하는 방법

분류에서Dev

그 진술을 작성하는 더 간단한 방법이 있습니까?

분류에서Dev

이것을 작성하는 더 간단한 방법이 있습니까?

분류에서Dev

Awk-더 많은 파일에 대한주기를 작성하는 방법

분류에서Dev

간단한 캘린더 gem의 시작일과 종료일 사이의 모든 날짜를 전달하는 방법

분류에서Dev

JavaScript에서 다른 시간대의 주어진 시간에 대한 내 현지 시간을 얻는 방법

분류에서Dev

간단한 스레딩을 사용하여 Python을 작동시키는 방법

분류에서Dev

배치 파일에서 작동하는 IF 루프를 사용하는 더 간단한 방법이 있습니까?

분류에서Dev

1 년의 모든 주에 대한 모든 시작 날짜를 얻는 방법

분류에서Dev

1 년의 모든 주에 대한 모든 시작 날짜를 얻는 방법

분류에서Dev

JSFiddle에서 간단한 전단지 맵을 작동시키는 방법은 무엇입니까?

분류에서Dev

* .jar 또는 파일 시스템을 읽는 더 간단한 방법이 있습니까?

분류에서Dev

이 C ++ 간단한 코드를 다시 작성하는 방법?

분류에서Dev

CssLess 보간을 달성하는 더 간단한 방법

분류에서Dev

오버로드 된 연산자를 작성하는 더 간단한 방법 +/-

분류에서Dev

이 코드를 작성하는 더 간단한 방법이 있습니까?

분류에서Dev

이 코드를 작성하는 더 간단한 방법이 있습니까?

분류에서Dev

간단한 작업 대기열을 만드는 방법

분류에서Dev

폴더에서 임의의 파일을 가져 와서 플라스크에 표시하는 가장 간단한 방법은 무엇입니까?

분류에서Dev

동일한 행에서 시간 값을 더하거나 빼는 방법

분류에서Dev

작업 표시 줄에 동일한 창을 나란히 표시하는 방법

분류에서Dev

Google 캘린더 API의 이벤트 개체에서 시작 및 종료 시간을 설정하는 방법

분류에서Dev

작업 표시 줄에서 동일한 프로그램의 창을 주문하는 방법

분류에서Dev

MozillaCookieJar 객체에서 이름과 값 속성을 얻는 더 간단한 방법

Related 관련 기사

  1. 1

    미국 시장 시간에 대한 크론 일정을 작성하는 방법

  2. 2

    미국 시장 시간에 대한 크론 일정을 작성하는 방법

  3. 3

    앱 셸에 파일을 통합하는 더 간단한 방법

  4. 4

    여러 시간대에 대한 단일 크론 작업을 관리하는 방법

  5. 5

    `pivot_longer` 작업-예상되는 출력을 얻는 더 간단한 방법?

  6. 6

    Torch REPL에 대한 시작 파일을 지정하는 방법

  7. 7

    그 진술을 작성하는 더 간단한 방법이 있습니까?

  8. 8

    이것을 작성하는 더 간단한 방법이 있습니까?

  9. 9

    Awk-더 많은 파일에 대한주기를 작성하는 방법

  10. 10

    간단한 캘린더 gem의 시작일과 종료일 사이의 모든 날짜를 전달하는 방법

  11. 11

    JavaScript에서 다른 시간대의 주어진 시간에 대한 내 현지 시간을 얻는 방법

  12. 12

    간단한 스레딩을 사용하여 Python을 작동시키는 방법

  13. 13

    배치 파일에서 작동하는 IF 루프를 사용하는 더 간단한 방법이 있습니까?

  14. 14

    1 년의 모든 주에 대한 모든 시작 날짜를 얻는 방법

  15. 15

    1 년의 모든 주에 대한 모든 시작 날짜를 얻는 방법

  16. 16

    JSFiddle에서 간단한 전단지 맵을 작동시키는 방법은 무엇입니까?

  17. 17

    * .jar 또는 파일 시스템을 읽는 더 간단한 방법이 있습니까?

  18. 18

    이 C ++ 간단한 코드를 다시 작성하는 방법?

  19. 19

    CssLess 보간을 달성하는 더 간단한 방법

  20. 20

    오버로드 된 연산자를 작성하는 더 간단한 방법 +/-

  21. 21

    이 코드를 작성하는 더 간단한 방법이 있습니까?

  22. 22

    이 코드를 작성하는 더 간단한 방법이 있습니까?

  23. 23

    간단한 작업 대기열을 만드는 방법

  24. 24

    폴더에서 임의의 파일을 가져 와서 플라스크에 표시하는 가장 간단한 방법은 무엇입니까?

  25. 25

    동일한 행에서 시간 값을 더하거나 빼는 방법

  26. 26

    작업 표시 줄에 동일한 창을 나란히 표시하는 방법

  27. 27

    Google 캘린더 API의 이벤트 개체에서 시작 및 종료 시간을 설정하는 방법

  28. 28

    작업 표시 줄에서 동일한 프로그램의 창을 주문하는 방법

  29. 29

    MozillaCookieJar 객체에서 이름과 값 속성을 얻는 더 간단한 방법

뜨겁다태그

보관