시간이 날짜 범위 내에 있는지 확인하는 방법

Mayukh Sarkar

몇 가지 해결책을 찾았지만 대부분은 현재 날짜에 대해 이야기합니다. 내가 원하는 것은 현재 시간이 내일 23:00:0007:00:00다음날 인지 확인하는 것 입니다. 날짜도 여기에 관련되어 있기 때문에 어려움에 직면하고 있습니다. 따라서 현재 시간이 00:00:00그렇다면 날짜도 변경되고 같은 날짜와 시간을 비교하면 23:00:00잘못된 결과를 얻을 수 있습니다. 이것이 제가 지금 생각 해낸 것입니다. 해결책을 찾도록 도와주세요.

cur_time = dt.strptime('2/9/16 00:00', "%m/%d/%y %H:%M")
prev_date = dt.strftime(cur_time.date() - timedelta(days=1), "%m/%d/%y")
same_date = dt.strftime(cur_time.date(), '%m/%d/%y')
dosta = dt.strptime(prev_date + "22:00", "%m/%d/%y%H:%M")
satta = dt.strptime(same_date + "07:00", "%m/%d/%y%H:%M")
if dosta < cur_time < satta:
    tariff = 3
else:
    tariff = 6
print(tariff)

이 3 할 관세를 초래하지만 난 변경하는 경우 cur_time이 같은를

cur_time = dt.strptime('2/9/16 23:00', "%m/%d/%y %H:%M")

이것은 3을 산출하지 않을 것입니다. 이것은 나에게 6을 줄 것입니다. 이것은 현재 시간을 전날 00:00오늘 비교하고 있기 때문에 07:00현재 날짜 23:00가 분명히 더 클 것입니다.

편집 1

Input: 2/9/16 06:00:00

Output: 3...because 06:00:00 is less than 07:00:00 that same day(2/9/2016) and more than 22:00:00 previous day(2/8/16)

Input: 2/9/16 23:00:00 Output: 3...because 23:00:00 is more than 22:00:00 that same day(2/9/2016)

Input: 2/10/16 00:30:00 Output: 3...because 00:30:00 is more than 22:00:00 that previous day(2/9/2016) and less than 07:00:00 same day(2/10/2016)

Input: 2/10/16 08:00:00 Output: 6...because 08:00:00 is more than 07:00:00 that same day(2/9/2016) and less than 22:00:00 on the same day(2/9/2016)

편집 2timedelta 에서 지적한대로 여전히 작동하지 않습니다 @a_guest. 다음은 코드입니다.

for each in zip(data1, data2):
    # client.write_points(json_body_bill_data)
    cur_time = dt.strptime(each[1]['Start'], "%m/%d/%y %H:%M")
    # print(cur_time.date())
    dosta = dt.strptime('2200', '%H%M').time()
    # print(dosta)
    lower = datetime.datetime.combine(cur_time.date(), dosta)
    upper = lower + timedelta(hours=8.5)
    print("lower", lower)
    print("upper", upper)
    print(cur_time, lower < cur_time < upper)

경우에 저를 거짓주고 cur_time있다00:00:00 9/2/16

편집 3

가능한 대답

from datetime import datetime, time
import csv
import os


CSV_FILE_ASCO = os.path.join('..', 'res', 'ASCO_METER.csv')
with open(CSV_FILE_ASCO, 'r') as f:
    reader = csv.DictReader(f)
    data = list(reader)

for each in data:
    # print()
    cur_date = datetime.strptime(each['Start'], "%m/%d/%y %H:%M")
    if time(7, 0) <= cur_date.time() < time(22, 0):
        tarrif = 6
    else:
        tarrif = 3
    print(cur_date, end=" ")
    print(tarrif)

더 개선 될 수 있습니다. 나는 그것을 할 더 비단뱀적인 방법이 있어야 할 것입니다.

daveruins 모든 것

가장 쉬운 해결책은 날짜를 모두 제거하고 시간 값을 자체적으로 비교하는 것입니다. 주어진 시간이 오전 7 시보 다 크고 오후 11 시보 다 작은 경우 tarrif = 3,, else tarrif = 6. datetime객체의 hour속성을 사용하여이 작업을 수행 할 수 있습니다 .

from datetime import datetime

cur_date = datetime.strptime('2/9/16 07:00', "%m/%d/%y %H:%M")
if 7 <= cur_date.hour < 23:
    tarrif = 3
else:
    tarrif = 6

정확성을 위해 저는 타 리프가 점에서 오전 7시에 6에서 3으로 변경되고 점에서 오후 11시에 다시 6으로 변경된다고 가정합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연도에 관계없이 날짜가 범위 내에 있는지 확인하는 방법

분류에서Dev

날짜가 지정된 날짜 범위 내에 있는지 확인하는 방법

분류에서Dev

셀 값이 날짜 범위 내에 있는지 확인

분류에서Dev

Python 및 현재 날짜 시간이 특정 범위에 있는지 확인

분류에서Dev

Microsoft Excel에서 날짜가 지정된 범위 내에 있는지 확인하는 방법

분류에서Dev

날짜 문자열이 날짜 범위 내에 있는지 확인하는 Spotfire TERR 스크립트

분류에서Dev

주어진 날짜가 날짜 범위 목록에 있는지 확인하는 데 가장 많이 사용되는 방법은 무엇입니까?

분류에서Dev

배열의 날짜가 날짜 범위에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

특정 날짜 범위 내에서 특정 날짜와 시간을 계산하는 방법

분류에서Dev

현재 날짜 / 시간이 일정 내에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

날짜 범위 사이에 DAYOFWEEK ()가 있는지 확인

분류에서Dev

하나 이상의 날짜가 정의 된 범위에 맞는지 확인하기 위해 날짜 배열을 검색하는 방법

분류에서Dev

주어진 시간 슬롯에 현재 시간이 있는지 확인하고 주어진 날짜 배열 사이에 날짜가 있는지 찾는 방법

분류에서Dev

TSQL에서 두 날짜 사이에 오전 4시에 몇 시간이 있었는지 확인하는 방법

분류에서Dev

ID 날짜가 범위 중 하나에 속하는지 확인하는 방법 (범위는 다른 테이블의 별도 행에 저장 됨)

분류에서Dev

팬더에서 두 날짜 사이에 시간 범위를 만드는 방법이 있습니까?

분류에서Dev

특정 기간 사이에 날짜가 있는지 확인하는 방법 (Excel)

분류에서Dev

주어진 날짜 범위가 여러 날짜 범위 사이에 맞지 않는지 확인하는 쿼리

분류에서Dev

날짜 범위 내에서 시간이 몇 번 발생하는지 계산

분류에서Dev

PHP에서 여러 날짜 범위 간의 중복을 확인하는 방법은 무엇입니까?

분류에서Dev

Django 템플릿에서 날짜 시간 범위를 반복하는 방법

분류에서Dev

DateTime이 특정 범위 내에 있는지 확인하는 방법

분류에서Dev

날짜가 셀레늄 웹 드라이버 (Java)의 날짜 범위 내에 있는지 확인

분류에서Dev

Ruby 날짜 / 시간이 최소 24 시간 이내인지 확인하는 방법은 무엇입니까?

분류에서Dev

현재 날짜 문자열이 다른 두 날짜의 범위 내에 있거나 밖에 있는지 확인하십시오.

분류에서Dev

Flutter에서 현재 날짜와 시간이 주어진 두 날짜와 시간 사이에 있는지 확인하는 방법

분류에서Dev

현재 날짜 시간이 iOS에서 주어진 날짜 시간 사이에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

날짜가 범위 날짜에 속하는지 확인

분류에서Dev

해시 범위에서 누락 된 날짜를 얻는 방법

Related 관련 기사

  1. 1

    연도에 관계없이 날짜가 범위 내에 있는지 확인하는 방법

  2. 2

    날짜가 지정된 날짜 범위 내에 있는지 확인하는 방법

  3. 3

    셀 값이 날짜 범위 내에 있는지 확인

  4. 4

    Python 및 현재 날짜 시간이 특정 범위에 있는지 확인

  5. 5

    Microsoft Excel에서 날짜가 지정된 범위 내에 있는지 확인하는 방법

  6. 6

    날짜 문자열이 날짜 범위 내에 있는지 확인하는 Spotfire TERR 스크립트

  7. 7

    주어진 날짜가 날짜 범위 목록에 있는지 확인하는 데 가장 많이 사용되는 방법은 무엇입니까?

  8. 8

    배열의 날짜가 날짜 범위에 있는지 확인하는 방법은 무엇입니까?

  9. 9

    특정 날짜 범위 내에서 특정 날짜와 시간을 계산하는 방법

  10. 10

    현재 날짜 / 시간이 일정 내에 있는지 확인하는 방법은 무엇입니까?

  11. 11

    날짜 범위 사이에 DAYOFWEEK ()가 있는지 확인

  12. 12

    하나 이상의 날짜가 정의 된 범위에 맞는지 확인하기 위해 날짜 배열을 검색하는 방법

  13. 13

    주어진 시간 슬롯에 현재 시간이 있는지 확인하고 주어진 날짜 배열 사이에 날짜가 있는지 찾는 방법

  14. 14

    TSQL에서 두 날짜 사이에 오전 4시에 몇 시간이 있었는지 확인하는 방법

  15. 15

    ID 날짜가 범위 중 하나에 속하는지 확인하는 방법 (범위는 다른 테이블의 별도 행에 저장 됨)

  16. 16

    팬더에서 두 날짜 사이에 시간 범위를 만드는 방법이 있습니까?

  17. 17

    특정 기간 사이에 날짜가 있는지 확인하는 방법 (Excel)

  18. 18

    주어진 날짜 범위가 여러 날짜 범위 사이에 맞지 않는지 확인하는 쿼리

  19. 19

    날짜 범위 내에서 시간이 몇 번 발생하는지 계산

  20. 20

    PHP에서 여러 날짜 범위 간의 중복을 확인하는 방법은 무엇입니까?

  21. 21

    Django 템플릿에서 날짜 시간 범위를 반복하는 방법

  22. 22

    DateTime이 특정 범위 내에 있는지 확인하는 방법

  23. 23

    날짜가 셀레늄 웹 드라이버 (Java)의 날짜 범위 내에 있는지 확인

  24. 24

    Ruby 날짜 / 시간이 최소 24 시간 이내인지 확인하는 방법은 무엇입니까?

  25. 25

    현재 날짜 문자열이 다른 두 날짜의 범위 내에 있거나 밖에 있는지 확인하십시오.

  26. 26

    Flutter에서 현재 날짜와 시간이 주어진 두 날짜와 시간 사이에 있는지 확인하는 방법

  27. 27

    현재 날짜 시간이 iOS에서 주어진 날짜 시간 사이에 있는지 확인하는 방법은 무엇입니까?

  28. 28

    날짜가 범위 날짜에 속하는지 확인

  29. 29

    해시 범위에서 누락 된 날짜를 얻는 방법

뜨겁다태그

보관