it-swarm.com.ru

как переформатировать строку даты и времени в PHP?

Я получаю дату и время от плагина. Я положил его в переменную:

$datetime = "20130409163705"; 

Это на самом деле переводится как yyyymmddHHmmss.

Мне нужно было бы показать это пользователю как время транзакции, но оно не выглядит правильно.

Я бы хотел, чтобы это было похоже на 09/04/2013 16:37:05 или 09-apr-2013 16:37:05.

Как мне пойти и изменить порядок строки?

На данный момент я могу подумать об использовании substr для разделения даты и времени. Я до сих пор не уверен, как добавить дополнительные символы и изменить дату.

40
Psychocryo

почему бы не использовать date () так же, как ниже, попробуйте это

$t = strtotime('20130409163705');
echo date('d/m/y H:i:s',$t);

и будет выходной

09/04/13 16:37:05
57
bluewind

Для 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
38
Andrey Volk

Если вы хотите использовать 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;

Вы можете выяснить любое дальнейшее форматирование с этого момента.

2
iwrestledabearonce

попробуй это

$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
1
Suresh Kamrushi

Вы можете сделать это так:

<?php
$datetime = "20130409163705"; 
$format = "YmdHis";

$date = date_parse_from_format ($format, $datetime);
print_r ($date);
?>

Вы можете посмотреть date_parse_from_format() и принятые значения формата.

0
vanneto
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}
0
skpaik

Вы можете использовать функцию date_parse_from_format() ... 

Проверьте это ссылка .. вы получите четкое представление 

0
SeliC