Подтвердить что ты не робот

Как получить время и дату из штампа даты и времени в php

У меня есть 1 строка, как 8/29/2011 11:16:12 AM Я хочу сохранить в переменной, как $dat = 8/29/2011 и $tme = 11:16:12 AM

как это возможно? можете ли вы привести пример?

4b9b3361

Ответ 1

например.

<?php
$s = '8/29/2011 11:16:12 AM';
$dt = new DateTime($s);

$date = $dt->format('m/d/Y');
$time = $dt->format('H:i:s');

echo $date, ' | ', $time;

см. http://docs.php.net/class.datetime


edit: Чтобы сохранить формат AM/PM, используйте

$time = $dt->format('h:i:s A');

Ответ 2

<?php
    $date = strtotime('8/29/2011 11:16:12 AM');
    $dat = date('m/d/y', $date);
    $tme = date('H:m:s A',$date);

?>

Для получения дополнительной информации о функции date(), PLZ посетите http://php.net/manual/en/function.date.php

Ответ 3

Это, вероятно, не самый чистый способ сделать это, но вы можете использовать взрыв (обратите внимание, что здесь вообще нет проверки). Это будет быстрее, чем правильная манипуляция датами.

$str = '8/29/2011 11:16:12 AM';
$dates = explode(' ', $str);
$dat = $dates[0];
$time = $dates[1];

Ответ 4

Вы можете использовать функцию strtotime, если даты начинаются после 1/1/1970 -

<?php

$s = strtotime('8/29/2011 11:16:12 AM');

$date = date('m/d/Y', $s);
$time = date('H:i:s A', $s);

?>

http://php.net/manual/en/function.strtotime.php

strtotime создает временную метку UNIX из строки, которую вы передаете ей.

Ответ 5

Если ваша версия PHP достаточно новая, проверьте дату_пара() и возвращаемый массив. Затем вы можете форматировать дату или время, используя соответствующие записи.

Ответ 6

Это должно сделать трюк:

$mystring_datetime = ....;
$dt = DateTime::createFromFormat('m/d/Y H:i:s A', $mystring_datetime );
$d = $dt->format('m/d/Y');
$t = $dt->format('H:i:s A');

Вы также можете сделать что-то подобное, но это не рекомендуется:

$mystring_datetime = ....;
list($date, $time) = explode(' ', $mystring_datetime, 2);

Теперь $date и $time имеют соответствующие значения...