strtotime (19.07.2011 00:00) - PullRequest
       2

strtotime (19.07.2011 00:00)

0 голосов
/ 01 августа 2011

Попытка преобразовать значение даты и времени в формате «19.07.2011 00:00» с помощью функции php «strtotime ()».

Не похоже на структуру даты и времени. Кто-нибудь знает, как я могу преобразовать это в метку времени для базы данных MySQL?

$convertstart = strtotime($_POST['start']);
$start = mysql_real_escape_string($convertstart);
$convertend = strtotime($_POST['end']);
$end = mysql_real_escape_string($convertend);

Спасибо!

РЕДАКТИРОВАТЬ также ...

Когда я конвертирую сегодняшнюю дату (31.07.2011 18:35), я возвращаюсь 2013-12-15 17:00:00 в MySQL

Ответы [ 3 ]

2 голосов
/ 01 августа 2011

Почему бы не позволить MySQL позаботиться об этом за вас.Попробуйте функцию MySQL STR_TO_DATE().Он использует те же спецификаторы формата, что и функция DATE_FORMAT().

Попробуйте это: SELECT STR_TO_DATE('07/31/2011 18:35', '%m/%d/%Y %H:%i');

Это должно дать вам метку времени, совместимую с полями MySQL DATETIME,Для меня это возвращает: 2011-07-31 18:35:00

0 голосов
/ 01 августа 2011

Этот формат даты слишком неоднозначен для автоматического анализа.Вам нужно будет явно проанализировать этот формат, используя, например, strptime:

$p = strptime($date, '%m/%d/%Y %H:%i');
echo date('Y-m-d H:i:s', mktime($p['tm_hour'], $['tm_min'], 0, $p['tm_mon'], $p['tm_mday'], $p['tm_year']));
0 голосов
/ 01 августа 2011

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

$ sqlend = дата ('Y-m-d H: i: s', strtotime ($ end));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...