我正在处理一个返回变量的XML文档,由于某种原因,在xml返回中,时间戳的格式是这样的……20180606T110000
...为什么有人会这样格式化它对我来说没有任何意义;然而,这是我必须要处理的。它的格式是YYYYMMDD,T是日期和时间的分割点,HHMMSS。它设置在一个24小时的时钟,我也需要转换为12小时时钟与上午/下午
我需要像2018年6月6日11:00:00 AM这样的格式。
有没有一种方法可以通过日期格式(我知道如何使用date(),但我不知道如何以格式化的方式引入时间戳),或者甚至将时间戳分离为
$year = xxxx
$month = xx
$day = $xx
$Hour=xx
etc. etc. etc.
如果需要的话。
我简要地看过php的date create from format ( date_create_from_format('j-M-Y', '15-Feb-2009')
),但并不完全理解它是如何工作的。
我也考虑过拆分。我还研究了chunk_split和wordwrap,但它的字符数都不是很多,所以创建起来会很复杂。
有什么想法吗?
发布于 2018-06-06 05:04:58
您正在使用的格式是"XMLRPC (Compact)“格式。这是完全受PHP支持的(您可以查看受支持格式here的列表)。要获得您想要的,只需组合使用strtotime()和date()即可。
$timestring = "20180606T110000";
$timestamp = strtotime($timestring);
echo date("m/d/Y h:i:s A", $timestamp);
发布于 2018-06-06 05:06:45
您可以使用解析任意格式的DateTime字符串。请查看以下链接中的参数格式,以了解"Ymd\THis“部分的工作原理:http://php.net/manual/en/datetime.createfromformat.php
<?php
$time = "20180606T110000";
$date = DateTime::createFromFormat("Ymd\THis", $time);
// 06/06/2018 11:00:00 AM.
echo $date->format("d/m/Y h:i:s A");
https://stackoverflow.com/questions/50708802
复制相似问题