15 분 전과 같은 DateTime을 만드는 방법은 무엇입니까?


답변:


232

datetime을 가져오고 마법의 timedelta 물건을 가져옵니다.

In [63]: datetime.datetime.now()
Out[63]: datetime.datetime(2010, 12, 27, 14, 39, 19, 700401)

In [64]: datetime.datetime.now() - datetime.timedelta(minutes=15)
Out[64]: datetime.datetime(2010, 12, 27, 14, 24, 21, 684435)

1
NB, Python 3에서는 now()오프셋 순진 및 오프셋 인식 날짜 시간을 빼는 데 대한 오류를 피하기 위해 시간대를 전달해야합니다 .datetime.datetime.now(datetime.timezone.utc)
nornagon

1
@nornagon은 여기에 전혀 적용되지 않습니다. datetime 객체가 인식하거나 순진한 지 여부는 중요하지 않으며 timedelta를 빼면 상관없이 작동합니다.
Martijn Pieters

35
 datetime.datetime.now() - datetime.timedelta(minutes=15)

11

이것은 단순히 할 일입니다.

datetime.datetime.now() - datetime.timedelta(minutes = 15)

timedeltas는 s에 델타 (차이)를 빼거나 더할 수 있도록 특별히 설계되었습니다 datetime.


7
from datetime import timedelta    
datetime.datetime.now() - datetime.timedelta(0, 900)

Actually 900 is in seconds. Which is equal to 15 minutes. `15*60 = 900`

가져 오기가 코드와 일치하지 않습니다. 가져 timedelta왔지만 datetime속성 을 사용 합니다. 모듈을 가져 오거나 유형을 추가하십시오.
Martijn Pieters

7

더 많은 예제를보고 싶다면 몇 분, 몇 년, 몇 시간 동안 그렇게하는 두 가지 방법을 제공합니다.

import datetime
print(datetime.datetime.now())
print(datetime.datetime.now() - datetime.timedelta(minutes = 15))
print(datetime.datetime.now() + datetime.timedelta(minutes = -15))
print(datetime.timedelta(hours = 5))
print(datetime.datetime.now() + datetime.timedelta(days = 3))
print(datetime.datetime.now() + datetime.timedelta(days = -9))
print(datetime.datetime.now() - datetime.timedelta(days = 9))

다음과 같은 결과를 얻습니다.

2016-06-03 16:04:03.706615
2016-06-03 15:49:03.706622
2016-06-03 15:49:03.706642
5:00:00
2016-06-06 16:04:03.706665
2016-05-25 16:04:03.706676
2016-05-25 16:04:03.706687
2016-06-03
16:04:03.706716


4

datetime.datetime.now() - datetime.timedelta(0, 15 * 60)

timedelta"시간의 변화"입니다. 첫 번째 매개 변수로 며칠이 걸리고 두 번째 매개 변수로 초가 걸립니다. 15 * 60초는 15 분입니다.


1

time.time()타임 스탬프를 사용 중이고 출력으로 원하는 경우

간단히 사용

CONSTANT_SECONDS = 900 # time  in seconds (900 seconds = 15 min)

current_time = int(time.time())
time_before_15_min = current_time - CONSTANT_SECONDS

필요한 시간에 따라 900 초를 변경할 수 있습니다.


1

Python 3.7의 아래 코드만이 나를 위해 일했습니다.

from datetime import datetime,timedelta    
print(datetime.now()-timedelta(seconds=900))

이것은 여기에서 훨씬 오래된 답변과 다르지 않습니다.
Martijn Pieters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.