2013-06-12 3 views
-3

Я получаю дату от подачи XML в указанном ниже форматепреобразования Дата для PHP & MySql

Wed, 12 Jun 2013 06:13:37 -0400 

Как преобразовать эту дату в PHP для вставки в базу данных MySQL, как

2013-06-12 06:13:37 
+0

см. это: [Преобразовать дату mysql (datetime) в формат лучшей даты с использованием php] (http://stackoverflow.com/questions/2533589/convert-a-mysql-date-datetime- в-а-лучше-дата-формате, используя-PHP? RQ = 1)! –

ответ

1

Используйте функцию date, наряду с strtotime:

$dateVar = date("Y-m-d H:i:s", strtotime("Wed, 12 Jun 2013 06:13:37 -0400")); 

В качестве альтернативы, вы можете использовать DateTime класс:

$s = new DateTime("Wed, 12 Jun 2013 06:13:37 -0400"); 
$dateVar = $s->format('Y-m-d H:i:s'); 
+0

Это прекрасно работает, но можете ли вы помочь мне в преобразовании -0400 в GMT? В настоящее время с указанными выше строками кода дата mysql - «2013-06-12 00:00:00» – ilight

1
<?php 
$date = 'Wed, 12 Jun 2013 06:13:37 -0400'; 
$mysql_date = date('Y-m-d H:i:s', strtotime($date)); 
?> 
2
<?php 
$originalDate = "Wed, 12 Jun 2013 06:13:37 -0400"; 
$newDate = date("Y-m-d H:i:s", strtotime($originalDate)); 

echo $newDate; // will display 2013-06-12 13:13:37 
?> 
0
$time = strtotime("Wed, 12 Jun 2013 06:13:37 -0400"); 
echo date("Y-m-d H:i:s",$time); 
0

Вы часто можете использовать ПГПС функцию StrToTime(), но если вы знаете формат, который вы должны использовать date_create_from_format() || DateTime::createFromFormat()

$FromStr = 'Wed, 12 Jun 2013 06:13:37 -0400'; 
$Date = DateTime::createFromFormat($FromStr,'D, d M Y H:i:s O'); 
print date('Y-m-d H:i:s',$Date); 

Вы должны посмотреть документацию формата. Вы можете изменить параметры часового пояса (O я мой пример)

0

только потому, что никто, кажется, уже упоминал уже, вы также сделать что-то вроде этого ...

INSERT INTO my_table (dt) 
VALUES STR_TO_DATE('Wed, 12 Jun 2013 06:13:37 -0400','%a, %d %b %Y %h:%i:%s'); 
0

Использование функции PHP StrToTime, как приведенный ниже

Смежные вопросы