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

Форум PHP

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

 

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

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

тема: Преобразовать дату, как?
 
 автор: mmodem   (11.07.2011 в 15:04)   письмо автору
 
 

Подскажите, пожалуйста, как преобразовать дату из:
Mon, 11 Jul 2011 12:20:32 +0300

в формат
2011-07-11 12:20:32

  Ответить  
 
 автор: Valick   (11.07.2011 в 15:06)   письмо автору
 
   для: mmodem   (11.07.2011 в 15:04)
 

откуда берется первая дата для преобразования?

  Ответить  
 
 автор: mmodem   (11.07.2011 в 15:11)   письмо автору
 
   для: Valick   (11.07.2011 в 15:06)
 

из xml-файла, надо вставить ее в базу

  Ответить  
 
 автор: Valick   (11.07.2011 в 15:53)   письмо автору
 
   для: mmodem   (11.07.2011 в 15:11)
 

и побороть проблему в зачаточном состоянии (на уровне попадания в XML) не представляется возможным?

  Ответить  
 
 автор: Valick   (11.07.2011 в 15:54)   письмо автору
 
   для: mmodem   (11.07.2011 в 15:11)
 

я так понимаю значимая часть это
11 Jul 2011 12:20:32

что такое +0300 ?
в голову приходит только эксплодить по пробелам и собирать в нужном порядке с заменой текстового месяца на число

  Ответить  
 
 автор: Саня   (11.07.2011 в 16:03)   письмо автору
 
   для: mmodem   (11.07.2011 в 15:04)
 

<?
print date('Y-m-d H:i:s'strtotime('Mon, 11 Jul 2011 12:20:32 +0300'));


Valick, это часовой пояс. В данном случае смещение на 3 часа. В москве такой пояс.

  Ответить  
 
 автор: Valick   (11.07.2011 в 16:07)   письмо автору
 
   для: Саня   (11.07.2011 в 16:03)
 

угу, спасибо, подозревал конечно, но сбило с толку что не 3 а 300 :)

  Ответить  
 
 автор: Саня   (11.07.2011 в 16:10)   письмо автору
 
   для: Valick   (11.07.2011 в 16:07)
 

Первые два числа — смещение в часах, вторые — в минутах. Не во всех поясах смещение кратно часу. В катманду, например, +0545.

  Ответить  
 
 автор: Саня   (11.07.2011 в 16:19)   письмо автору
 
   для: Саня   (11.07.2011 в 16:03)
 

У моего примера есть нюанс. Если часовой пояс на сервере не совпадает с таковым в дате, то результат будет отличаться.
<?
$date 
'Mon, 11 Jul 2011 12:20:32 +0300';
print 
date('Y-m-d H:i:s'strtotime(substr($date0, -6)));
Я не знаю что у вас за стратегия в плане временных зон (переводить к серверной, UTC, какой-то другой или не учитывать зону), так что не могу сказать какой вариант будет для вас правильным.

  Ответить  
 
 автор: mmodem   (11.07.2011 в 17:07)   письмо автору
 
   для: Саня   (11.07.2011 в 16:19)
 

Спасибо! Буду пробовать.

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

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