首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将一个奇怪的格式化时间戳分成一个容易理解的日期

将一个奇怪的格式化时间戳分成一个容易理解的日期
EN

Stack Overflow用户
提问于 2018-06-06 04:56:31
回答 2查看 81关注 0票数 0

我正在处理一个返回变量的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,但它的字符数都不是很多,所以创建起来会很复杂。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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);
票数 2
EN

Stack Overflow用户

发布于 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");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50708802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档