Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Чем конвертировать дату в формате ISO?
 
 автор: Emm   (18.01.2011 в 07:11)   письмо автору
 
 

Tue Jan 18 2011 00:00:00 GMT+0200 (Eastern Europe Standard Time) ->> 
JSON.stringify() ->> 2011-01-17T22:00:00.000Z  - это должно отправляться на сервер, как, чем перевести в timestamp?

  Ответить  
 
 автор: neadekvat   (18.01.2011 в 07:40)   письмо автору
 
   для: Emm   (18.01.2011 в 07:11)
 

С помощью регулярных выражений, например.
К тому же, вам стоит решить, будет ли таймстамп хрнится со смещением на два часа или нет.

  Ответить  
 
 автор: sim5   (18.01.2011 в 07:49)   письмо автору
 
   для: neadekvat   (18.01.2011 в 07:40)
 

strtotime для этого есть, зачем рег. выражения.

  Ответить  
 
 автор: neadekvat   (18.01.2011 в 13:51)   письмо автору
 
   для: sim5   (18.01.2011 в 07:49)
 

Позже вспомнил :)

  Ответить  
 
 автор: Emm   (18.01.2011 в 20:29)   письмо автору
 
   для: sim5   (18.01.2011 в 07:49)
 

Хмм, что-то я погорячился, с созданием топика, сначала проверял и strtotime выплевывал некорректное значение, теперь все норм, видимо опечатался=\
echo date('m.d.Y H:i',strtotime("2011-01-20T22:00:00.000Z"));

  Ответить  
 
 автор: sim5   (19.01.2011 в 02:16)   письмо автору
 
   для: Emm   (18.01.2011 в 20:29)
 

T и Z то зачем?

  Ответить  
 
 автор: Emm   (19.01.2011 в 06:57)   письмо автору
 
   для: sim5   (19.01.2011 в 02:16)
 

Формат ISO 8601

Далее приводится формат даты со временем ISO 8601:

ГГГГ-ММ-ДДТчч:мм:сс[.ннннннн] [{+|-}чч:мм]

ГГГГ-ММ-ДДТчч:мм:сс[.ннннннн]П (UTC, универсальное синхронизированное время)

Символ T указывает на начало временной части 
значения дата-время.

Чтобы использовать формат ISO 8601, необходимо указать 
каждый элемент формата. Необходимо включить символ T,
 двоеточия (:) знаки + или - и точки (.). Скобки 
показывают, что доли секунд или величина смещения часового 
пояса не являются обязательными.

Временной компонент указан в 24-часовом формате.

Преимущество использования формата ISO 8601 заключается в 
том, что он является международным стандартом. Значения 
даты-времени, указанные с помощью данного формата, 
однозначны. Также на данный формат не влияют настройки SET 
DATEFORMAT, SET LANGUAGE или язык по умолчанию для имени 
входа.

Ниже приведены два примера значений даты-времени, указанных 
в формате ISO 8601:

2004-05-23Т14:25:10

2004-05-23T14:25:10.1234567+07:00

  Ответить  
 
 автор: sim5   (19.01.2011 в 07:05)   письмо автору
 
   для: Emm   (19.01.2011 в 06:57)
 

Вы загляните лучше в описание функции strtotime, которая без проблем преобразует корректную строку дата/время любого формата. Вы написали оную (в выбранном вами формате), задали вопрос, а затем ни с того ни с чего приводите код, в котором от первоначальной записи остался хвостик. То есть практически вы вручном режиме прописали параметры, но иные. Зачем тогда вообще вопрос был?
Кстати, не мешало бы зайти на официальный сайт разработчика и прочесть о форматах даты и времени, если уж речь идет об указании параметров.

  Ответить  
 
 автор: Emm   (21.01.2011 в 02:38)   письмо автору
 
   для: sim5   (19.01.2011 в 07:05)
 

Спасибо большое за уделенное внимание, все что мне было нужно я решил, а то что было приведено - исключительно для примера :)

  Ответить  
 
 автор: Trianon   (21.01.2011 в 02:50)   письмо автору
 
   для: sim5   (19.01.2011 в 07:05)
 

>Вы загляните лучше в описание функции strtotime, которая без проблем преобразует корректную строку дата/время любого формата.

Насчет любого Вы погорячились.

  Ответить  
 
 автор: sim5   (21.01.2011 в 04:45)   письмо автору
 
   для: Trianon   (21.01.2011 в 02:50)
 

Любого корректного.

  Ответить  
 
 автор: Trianon   (21.01.2011 в 11:01)   письмо автору
 
   для: sim5   (21.01.2011 в 04:45)
 

корректность формата strtotime определяется воззрениями библиотеки GNU, а она настолько толлерантна ко входу, что принимает массу значений, которые большинством людей (как в мире, так и в России ) будут истолкованы превратно.

И вследствие этого любой более детерминированный алгоритм (чем прямой вызов strtotime) поредставляется надежней и безопасней. Хоть бы и с регулярками.

Это, правда, не применительно к конкретной задаче в начале ветки.Там всё более менее.
А в целом "любой корректный" по отношению к strtotime - фарс.

  Ответить  
 
 автор: Kagalar   (02.10.2016 в 15:30)   письмо автору
 
   для: Trianon   (21.01.2011 в 11:01)
 

Вы сможете узнать много полезного про ISO на данном ресурсе

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования