# 39, s, t # 39 파이썬 UTC datetime object& ISO 형식으로 doesn& 포함시키십시오 Z (Zulu 또는 제로 오프셋된)

39 는 파이썬 2.7 doesn& 포함시키십시오 왜 문자 (Zulu 또는 제로 오프셋된), Z, s # 39 말 UTC datetime object& 달리 이소포르마 문자열이어야 JavaScript?

>>> datetime.datetime.utcnow().isoformat()
'2013-10-29T09:14:03.895210'

반면 javascript 로

>>>  console.log(new Date().toISOString()); 
2013-10-29T09:38:41.341Z
질문에 대한 의견 (4)

옵션: '이소포르마 ()'

39, python& datetime 's' 를 지원하지 않는 Z& # 39, & # 39 와 같은 접미어는 군사 시간대. utc 의 접미어입니다. 다음과 같은 단순한 문자열 대체 높여줍니까 트릭.

In [1]: import datetime

In [2]: d = datetime.datetime(2014, 12, 10, 12, 0, 0)

In [3]: str(d).replace('+00:00', 'Z')
Out[3]: '2014-12-10 12:00:00Z'

'str (d)' ' (sep = & # 39, 본질적으로 d.이소포르마 동일합니까 '& # 39;)

참조: [Datetime, 파이썬 표준 라이브러리] [2]

옵션: '스트라프티메 ()'

'또는' 스트라프티메 같은 효과를 얻기 위해 사용할 수 있습니다.

In [4]: d.strftime('%Y-%m-%d %H:%M:%SZ')
Out[4]: '2014-12-10 12:00:00Z'

참고: 이 옵션을 지정한 날짜를 UTC 에 알고 있을 때 사용할 수 있습니다.

참조: [다테타임벌린스트라프티메 ()] [3]

  • 추가: 사람이 읽을 수 시간대

    한발 더 나아가 관심을 갖게 될 수 있습니다 '인간' 을 (를) ',' '%z 스트라프티메 프리츠 디스플레이하여 시간대 정보를 읽을 수 있는' 시간대 플래깅:

In [5]: import pytz

In [6]: d = datetime.datetime(2014, 12, 10, 12, 0, 0, tzinfo=pytz.utc)

In [7]: d
Out[7]: datetime.datetime(2014, 12, 10, 12, 0, tzinfo=)

In [8]: d.strftime('%Y-%m-%d %H:%M:%S %Z')
Out[8]: '2014-12-10 12:00:00 UTC'

[2]: https://docs.python.org/2/library/datetime.html # datetime.date.str [3]: https://docs.python.org/3/library/datetime.html # 다테타임벌린다테타임벌린스트라프티메

해설 (2)
해결책

39, 시간대 별로 없는 don& 객체에는 파이썬 'datetime' 정보 기본적으로 ISO 8601 걸리지 않고, 파이썬 실제로 위반이라는 사양명세 ([시간대 정보는 없을 경우, 주어진 것으로 현지 시간) (http://en.wikipedia.org/wiki/ISO_8601 # Time_zone_designators)). [프리츠 패키지] 사용할 수 있습니다 (https://pypi.python.org/pypi/pytz/) 를 기본 시간대, 또는 하위 '직접' 좀 친포 교도관님도요:

from datetime import datetime, tzinfo, timedelta
class simple_utc(tzinfo):
    def tzname(self,**kwargs):
        return "UTC"
    def utcoffset(self, dt):
        return timedelta(0)

그런 다음 시간대 직접 추가 정보를 '루트비노프 ()'.

>>> datetime.utcnow().replace(tzinfo=simple_utc()).isoformat()
'2014-05-16T22:51:53.015001+00:00'

참고로 이 형식을 따르는 사용할 수 있는 'Z 는 ISO 8601 에 접미사' 또는 '+00:00' 으로 지정하였다. 참고로 rmw 준수하는 표준 시간대, 실제로 수 있는 방법을 잘 표현됩니다 일반 (utc) 는 특별한 경우로.)

해설 (4)

파이썬 datetime 좀 어설픈 있다. '' 누르십시보 사용합니다.

> str(arrow.utcnow())
'2014-05-17T01:18:47.944126+00:00'

본질적으로 같은 시간대 및 api 로 datetime 갖추고 있지만, 몇 가지 추가 미묘한 점 누르십시보 가 되어야 하는 main library.

Javascript 호환됩니까 형식을 통해 달성됩니다 수 있습니다.

arrow.utcnow().isoformat().replace("+00:00", "Z")
'2018-11-30T02:46:40.714281Z'

'조용히' 가 드롭합니다 다테스파스 javascript 에서 마이크로 타임스탬프와.

해설 (2)

다음 javascript 와 파이썬 스크립트를 열거하십시오 동일해집니다 출력입니다. 내 생각엔 it& # 39 의 너희는너희가 찾고 있다.

JavaScript

new Date().toISOString()

파이썬

import datetime

datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'

그들은 열거하십시오 출력물에는 utc (젤다) 는 ISO 와 문자열 (3 시간 표시됨과 포맷됩니다 밀리초) 가 중요한 자리 및 수신기마다 Z.

2019-01-19T23:20:25.459Z
해설 (0)

파이썬 > = 3.2 에서 이 됩니다. "' &gt &gt >;; 에서 datetime 가져오기의 datetime, 시간대 &gt &gt >;; 다테타임지노프 (타임손e.머스) 스이소포르마 ()

39, & # 39 2019-03-14T07:55:36.979511+00:00&.

"'

해설 (1)

하지만 난 그들이성년에 게시물로의 대한 좋은 일을 많이 가지 형식을 그대로 JavaScript 와 나오지 않습니다. 이게 I& # 39 m, 사용 및 작동하잖아 설명이다.

In [1]: import datetime

In [1]: now = datetime.datetime.utcnow()

In [1]: now.strftime('%Y-%m-%dT%H:%M:%S') + now.strftime('.%f')[:4] + 'Z'
Out[3]: '2018-10-16T13:18:34.856Z'
해설 (0)

"' pip 설치처 파이썬 다테우틸 "' "' &gt &gt >;; a = &quot 2019-06-27T02:14:49.443814497Z"; &gt &gt >;; 다테우틸드파르시리파스 (a) 다테타임벌린다테타임 (2019년, 6, 27, 2, 14, 49, 443814, 친포 = 주츠 ()) "'

해설 (0)

내가 모든 질문에 위에 다음과 같은 기능을 결합해 함께 찾아왔다.

from datetime import datetime, tzinfo, timedelta
class simple_utc(tzinfo):
    def tzname(self,**kwargs):
        return "UTC"
    def utcoffset(self, dt):
        return timedelta(0)

def getdata(yy, mm, dd, h, m, s) :
    d = datetime(yy, mm, dd, h, m, s)
    d = d.replace(tzinfo=simple_utc()).isoformat()
    d = str(d).replace('+00:00', 'Z')
    return d

print getdata(2018, 02, 03, 15, 0, 14)
해설 (0)

내가 사용하는 진자.

import pendulum

d = pendulum.now("UTC").to_iso8601_string()
print(d)

>>> 2019-10-30T00:11:21.818265Z
해설 (0)
>>> import arrow

>>> now = arrow.utcnow().format('YYYY-MM-DDTHH:mm:ss.SSS')
>>> now
'2018-11-28T21:34:59.235'
>>> zulu = "{}Z".format(now)
>>> zulu
'2018-11-28T21:34:59.235Z'

또는, 그것을 얻기 위해 한 급습 떨어졌다.

>>> zulu = "{}Z".format(arrow.utcnow().format('YYYY-MM-DDTHH:mm:ss.SSS'))
>>> zulu
'2018-11-28T21:54:49.639Z'
해설 (0)