我从一个插件中获取了一个日期时间。我将它放入一个变量中:
$datetime = "20130409163705";
实际上,这意味着yyyymmddHHmmss
。
我需要将其显示给用户作为交易时间,但它看起来不太正常。
我想把它排列成 09/04/2013 16:37:05
或者 09-apr-2013 16:37:05
这样。
我该如何改变字符串的顺序?
目前我能想到的是使用substr来分离日期和时间。我仍然不确定如何添加额外字符并重新排列日期。
我从一个插件中获取了一个日期时间。我将它放入一个变量中:
$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/zh/function.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
date("Y-m-d H:i:s", strtotime("2019-05-13"))
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;
$format = date('d/m/y H:i:s', 1621371929);
echo $format;
18/05/21 14:05:29
使用date_format()函数:
$date = date_create(1621371929);
echo date_format($date, 'd/m/y H:i:s');
18/05/21 14:05:29
使用 DateTime::format():
$date = new DateTime('2021-05-18 14:05:29');
echo $date->format('d/m/y H:i:s');
18/05/21 14:05:29
$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()
和 接受的格式值。
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}
您可以使用date_parse_from_format()
函数...
date_parse_from_format(string $format, string $datetime): array
<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>
上面的例子将输出:
Array
(
[year] => 2009
[month] => 1
[day] => 6
[hour] => 13
[minute] => 0
[second] => 0
[fraction] =>
[warning_count] => 0
[warnings] => Array
(
)
[error_count] => 0
[errors] => Array
(
)
[is_localtime] => 1
[zone_type] => 1
[zone] => 3600
[is_dst] =>
)
查看PHP文档,你会得到清晰的理解。
date_parse_from_format()
函数可以实现你想要的功能。 - mishmashDateTime::createFromFormat()
- Touki