如何在php中重新格式化日期时间字符串?
我从插件收到一个日期时间。我把它放在一个变量中:如何在php中重新格式化日期时间字符串?,php,date,sorting,time,date-sorting,Php,Date,Sorting,Time,Date Sorting,我从插件收到一个日期时间。我把它放在一个变量中: $datetime = "20130409163705"; 这实际上转化为yyyymmddHHmmss 我需要将其显示为交易时间,但它看起来不合适 我想将其安排为09/04/2013 16:37:05或09-apr-2013 16:37:05 我该如何改变字符串的顺序 至于现在,我认为应该使用substr来分隔日期和时间。我仍然不确定如何添加附加字符和重新安排日期。试试这个 $datetime = "20130409163705"; pri
$datetime = "20130409163705";
这实际上转化为yyyymmddHHmmss
我需要将其显示为交易时间,但它看起来不合适
我想将其安排为09/04/2013 16:37:05
或09-apr-2013 16:37:05
我该如何改变字符串的顺序
至于现在,我认为应该使用substr来分隔日期和时间。我仍然不确定如何添加附加字符和重新安排日期。试试这个
$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);
?>
如果要使用
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;
您可以从这一点上找出任何进一步的格式。对于PHP5>=5.3.0
结果:
09/04/2013 16:37:05
为什么不像下面那样使用date(),试试这个
$t = strtotime('20130409163705');
echo date('d/m/y H:i:s',$t);
并将被输出
09/04/13 16:37:05
您可以使用
date\u parse\u from\u format()
函数
date\u从\u格式解析\u(字符串$format,字符串$datetime):数组
例子
上述示例将输出:
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] =>
)
检查..您将清楚地了解日期(“Y-m-d H:i:s”,标准时间(“2019-05-13”)您有不同的选择
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}
使用日期():
$format=日期('d/m/y H:i:s',1621371929);
echo$格式;
输出为:
18/05/2114:05:29
使用日期格式():
$date=date\u创建(1621371929);
回显日期格式($date,'d/m/y H:i:s');
输出为:
18/05/2114:05:29
使用DateTime::format():
$date=新的日期时间('2021-05-18 14:05:29');
echo$date->format('d/m/y H:i:s');
输出为:
18/05/2114:05:29
为您提供这三种方法的概述,深入介绍的是DateTime::format()。将满足您的需要。。。pleaseI刚刚发现这个问题很有用,而且是2014年的问题,所以关闭这个问题的人都在大发雷霆。投票决定重新开放。虽然问题显示了一个特定的案例,但其他案例的应用程序很容易看到。通过谷歌找到了这个答案,它为我指明了正确的方向,尽管我的具体情况有所不同。嗨,欢迎来到Stack Overflow!一个指向潜在解决方案的链接总是受欢迎的,但是请在链接周围添加上下文,这样您的其他用户就会知道它是什么以及为什么会出现。始终引用重要链接中最相关的部分。假设页面被移动到另一台服务器,或者直接链接发生了变化——未来的用户将无法从中受益。请看一看。你能进一步解释一下这一行与问题的关系吗?请在你的回答中为未来的用户添加一些解释尼斯一行!我在找这个
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}