[python] 마이크로 초 구성 요소없이 문자열로 파이썬 날짜 시간

현재 암스테르담 (!) 시간 문자열 만 포함하는 Bitbucket API 응답에 UTC 시간 문자열을 추가하고 있습니다. 다른 곳에서 반환되는 UTC 시간 문자열과 일관성을 유지하기 위해 원하는 형식이 2011-11-03 11:07:04뒤에옵니다 ( +00:00하지만 그다지 독일어는 아닙니다).

(예 : 문자열을 만들 수있는 가장 좋은 방법은 무엇입니까 없이 A로부터 마이크로 초 구성 요소)를 datetime 마이크로 초 구성 요소는?

>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026

가능한 대답으로 나에게 발생한 최상의 옵션을 추가하지만 더 우아한 해결책이있을 수 있습니다.

편집 : 실제로 현재 시간을 인쇄하고 있지 않다는 것을 언급해야합니다 datetime.now. 빠른 예제를 제공하는 데 사용 했습니다. 따라서 솔루션은 datetime수신 하는 인스턴스에 마이크로 초 구성 요소가 포함 된다고 가정해서는 안됩니다 .



답변

datetime표준 형식과 다른 특정 형식으로 오브젝트 를 형식화 하려면 해당 형식을 명시 적으로 지정하는 것이 가장 좋습니다.

>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2011-11-03 18:21:26'

지시문 에 대한 설명은 설명서를datetime.strftime() 참조하십시오 %.


답변

>>> import datetime
>>> now = datetime.datetime.now()
>>> print unicode(now.replace(microsecond=0))
2011-11-03 11:19:07


답변

파이썬 3.6에서 :

from datetime import datetime
datetime.datetime.now().isoformat(' ', 'seconds')
'2017-01-11 14:41:33'

https://docs.python.org/3.6/library/datetime.html#datetime.datetime.isoformat


답변

이것이 내가하는 방법입니다. ISO 형식 :

import datetime
datetime.datetime.now().replace(microsecond=0).isoformat()
# Returns: '2017-01-23T14:58:07'

ISO 형식을 원하지 않으면 ‘T’를 바꿀 수 있습니다.

datetime.datetime.now().replace(microsecond=0).isoformat(' ')
# Returns: '2017-01-23 15:05:27'


답변

또 다른 옵션 :

>>> import time
>>> time.strftime("%Y-%m-%d %H:%M:%S")
'2011-11-03 11:31:28'

기본적으로 현지 시간을 사용하므로 UTC가 필요한 경우 다음을 사용할 수 있습니다.

>>> time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
'2011-11-03 18:32:20'


답변

슬라이싱을 통해 원하는 처음 19자를 유지하십시오.

>>> str(datetime.datetime.now())[:19]
'2011-11-03 14:37:50'


답변

나는 보통 :

import datetime
now = datetime.datetime.now()
now = now.replace(microsecond=0)  # To print now without microsecond.

# To print now:
print(now)

산출:

2019-01-13 14:40:28