как переформатировать строку даты и времени в php?
Я получаю дату и время от плагина. Я помещаю его в переменную:
$datetime = "20130409163705";
Что на самом деле означает yyyymmddHHmmss
.
Мне нужно было бы отобразить это для пользователя как время транзакции, но это выглядит неправильно.
Я хотел бы сделать так, чтобы это было похоже 09/04/2013 16:37:05
или 09-apr-2013 16:37:05
.
Как мне поступить и изменить порядок строк?
На данный момент я мог бы подумать, что использовать substr для разделения даты и время. Я все еще не уверен в том, как добавить дополнительные символы и изменить дату.
7 answers
Почему бы не использовать date() как показано ниже, попробуйте это
$t = strtotime('20130409163705');
echo date('d/m/y H:i:s',$t);
И будет выведен
09/04/13 16:37:05
Для PHP 5>=5.3.0 http://www.php.net/manual/en/datetime.createfromformat.php
$datetime = "20130409163705";
$d = DateTime::createFromFormat("YmdHis", $datetime);
echo $d->format("d/m/Y H:i:s"); // or any you want
Результат:
09/04/2013 16:37:05
Если вы хотите использовать substr()
, вы можете легко добавить тире или косые черты, как это..
$datetime = "20130409163705";
$yyyy = substr($datetime,0,4);
$mm = substr($datetime,4,6);
$dd = substr($datetime,6,8);
$hh = substr($datetime,8,10);
$MM = substr($datetime,10,12);
$ss = substr($datetime,12,14);
$dt_formatted = $mm."/".$dd."/".$yyyy." ".$hh.":".$MM.":".$ss;
С этого момента вы можете определить любое дальнейшее форматирование.
Попробуйте это
$datetime = "20130409163705";
print_r(date_parse_from_format("Y-m-d H-i-s", $datetime));
Вывод:
[year] => 2013
[month] => 4
[day] => 9
[hour] => 16
[minute] => 37
[second] => 5
Вы могли бы сделать это так:
<?php
$datetime = "20130409163705";
$format = "YmdHis";
$date = date_parse_from_format ($format, $datetime);
print_r ($date);
?>
Вы можете посмотреть на date_parse_from_format()
и принятые значения формата.
Вы можете использовать функцию date_parse_from_format()
...
Проверьте эту ссылку ..вы получите четкое представление
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}