Я получаю datetime из плагина. Я ввел его в переменную:
$datetime = "20130409163705";
Это фактически переводит на yyyymmddHHmmss
.
Мне нужно будет отобразить это для пользователя как время транзакции, но оно не выглядит правильным.
Я бы хотел, чтобы это было похоже на 09/04/2013 16:37:05
или 09-apr-2013 16:37:05
.
Как мне изменить порядок строк?
На данный момент я мог бы подумать, что нужно использовать substr для разделения даты и времени. Я все еще не уверен, как добавить дополнительные символы и изменить дату.
почему бы не использовать дату (), как показано ниже, попробуйте это
$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/YH: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("Ymd His", $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()
…
Проверьте эту ссылку .. вы получите четкое представление