如何重新格式化日期时间字符串在PHP?(how to re-format datetime stri

2019-08-21 04:48发布

我收到了日期时间从一个插件。 我把它改成一个变量:

$datetime = "20130409163705"; 

这实际上转化为yyyymmddHHmmss

我需要显示给用户的交易时间,但它看起来并不正确。

我想安排它要像09/04/2013 16:37:05 09-apr-2013 16:37:05

我该如何去和改变字符串的订单?

至于现在,我能想到的是使用SUBSTR分开的日期和时间。 我仍然不知道如何添加额外的字符和重新安排日期。

Answer 1:

为什么不使用日期()就像下面,试试这个

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

并且将输出

09/04/13 16:37:05


Answer 2:

为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


Answer 3:

如果你想使用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;

你可以计算出从该点任何进一步的格式。



Answer 4:

试试这个

$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


Answer 5:

你可以做这样的:

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

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

你可以看一下date_parse_from_format()和接受的格式值。



Answer 6:

您可以使用date_parse_from_format()函数...

检查此链接 ..你会得到明确的想法



Answer 7:

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


文章来源: how to re-format datetime string in php?