2015-03-26 3 views
22

У меня есть это значение времени, возвращаемое webservice "2014-09-12T19:34:29Z"Что именно означает T и Z в метке времени?

Я знаю, что это означает часовой пояс, но что именно это означает?

И я пытаюсь высмеять этот веб-сервис, так есть способ генерировать эту метку времени, используя strftime в python?

Извините, если это болезненно очевидно, но google не очень полезен, и ни одна из страниц ссылки strftime() не была.

В настоящее время я использую это:

x.strftime("%Y-%m-%dT%H:%M:%S%Z") 
'2015-03-26T10:58:51' 

ответ

35

T не стоит ни за что. Это только сепаратор, что требует ISO 8601 combined date-time format. Вы можете прочитать его как аббревиатуру от Время.

В Z стенды для нулевой временной зоны, как это компенсируется 0 из Coordinated Universal Time (UTC).

Оба символа являются только статическими буквами в формате, поэтому они не документированы методом datetime.strftime(). Вы могли бы использовать Q или M или Monty Python, и этот метод также не изменил бы их; метод ищет только шаблоны, начинающиеся с %, для замены тех, у кого есть информация от объекта datetime.

+0

Спасибо, я смог найти решение через время ISO, чтобы задать вопрос http://stackoverflow.com/questions/127803/how-to-parse-iso-formatted-date-in-python. Что такое Q или M? – roymustang86

+0

@ roymustang86: 'Q' и' M' - это просто случайные статические символы. Дело в том, что они не являются символами '% Y' или другими * *. –

+4

'Z' фактически означает [Zulu] (http://www.timeanddate.com/time/zones/z), который является« именем »UTC0. Это звучит странно, но каждый часовой пояс имеет свое название. – TomCho