Запутался с датами - адская смесь форматов... php, moment.js datetimepickera и занесения в БД...
формирую на клиенте - jquery и moment.js
formatD_T = 'D MMMM GGGG в HH:mm'; // выводит 3 августа 2015 в 13:00
или
formatD_T= formatD ="D MMMM GGGG"; // выводит 3 августа 2015
var newDate = moment(date).format(formatD_T);
далее это все сериализуется и отправляется в обработчик...
раньше делал просто -
$data['event_start']=date("Y-m-d H:i:s", strtotime($data['event_start']));
сейчас, естественно, не понимает такой формат и отправляет к 1970 году...
решил через new DateTime и тоже встрял(((
$datetime = new DateTime($data['event_start']);
$datetime->createFromFormat('d M Y', $data['event_start']); // формат вроде верный, по документации смотрел
print_r ($datetime);
Ответ...
3 августа 2015string<br />
<b>Fatal error</b>: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (3 августа 2015) at position 0 (3): Unexpected character' in C:\xampp\htdocs\ac_new\admin\mod_calendar\handler_calendar_new1508.php:25
Stack trace:
Подскажите, плиз, как корректно преобразовать string 3 августа 2015 года в понятный для MySQL формат?
UPDATE:
$date = DateTime::createFromFormat('d M Y', '15 February 2009');
echo $date->format('Y-m-d');
работает, но русский язык (августа) не воспринимает... вот в чем засада