2013-03-08 6 views
0

У меня есть дата выпуска в моем PHP-коде. Мой код, как:Имея какой-то формат даты

$add_remind ="15/03/2013"; 
$add_time = "03:00"; 
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on)); 

Но если я напечатать $formated_add_remind_on, это печать 1970-01-01 05:30:00. Не могли бы вы сообщить мне, где ошибка?

Заранее спасибо.

ответ

2
$add_remind ="2013-03-15"; 
$add_time = "03:00"; 
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on)); 

StrToTime не accetp этого формата: 15/03/2013

0

strtotime принимает только english date formats, ваша дата должна быть MM/DD/YYYY, чтобы сделать эту работу.

+0

Тогда есть ли функция PHP для изменения 15/03/2013 в 03/15 /2013? – Srimanta

+0

yep см. @ Complex857 ответ;) – soyuka

+0

Спасибо большое. Он работает сейчас. – Srimanta

1

Формат даты не поддерживается, единственный формат даты, который is supported и выглядит так: «xx/xx/xxxx» - это американские даты, но они используют первый сегмент месяца и 15 недействительны месяц.

Возможно, вам понадобится конвертировать ваши данные или использовать что-то вроде DateTime::createFromFormat или strptime, где вы можете указать формат, в котором находится ваш вход (объекты DateTime поставляются с другими лакомствами, такими как не глобальная поддержка часового пояса).

Ваш формат, кажется, как это (вы можете захотеть изменить UTC к часовому поясу, созданной вашей временной метки):

$d = DateTime::createFromFormat("d/m/Y H:i:s", "15/03/2013 03:00:00", new DateTimeZone('UTC')); 
Смежные вопросы