首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用php获取日期"hh:mm:ss“格式

如何使用php获取日期"hh:mm:ss“格式
EN

Stack Overflow用户
提问于 2014-02-05 22:47:42
回答 5查看 1.9K关注 0票数 1

我正在从url检索日期`

代码语言:javascript
运行
复制
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics,status
&videoSyndicated=true
&type=video
&id=CRvoJEqrYTY
&key=AIzaSyD68YEP1N9J0-umFWuzMV3NEN3T5VBvoHo`

作为PT1H8M21S。如何使用php将其转换为hh:mm:ss

EN

回答 5

Stack Overflow用户

发布于 2014-02-05 22:55:25

字符串'PT1H8M21S' it不是日期或时间。它是一个间隔(具体地说,它是一个DateInterval字符串表示)。

您需要一个基线DateTime来添加该间隔。

试着按照这些思路做些事情

代码语言:javascript
运行
复制
$interval = $dv = new DateInterval('PT1H8M21S'); //the value you get from the url
$time = new DateTime('2000-01-01'); //any date works fine here. 
                                    // Note: Hours, mins and seconds == 0
$time->add($interval);
echo $time->format('H:i:s');

首先,根据收到的字符串创建适当的DateInterval对象。

然后,创建基线DateTime对象。任何日期都可以,你只需要确保你有小时、分钟和秒(我假设间隔总是少于一整天)。

将间隔添加到基线日期,并根据需要回显小时、分钟和秒。

票数 1
EN

Stack Overflow用户

发布于 2014-02-05 22:58:29

尝试像这样使用str_replace函数

代码语言:javascript
运行
复制
$time = "PT1H8M21S";
$time = str_replace("PT", "", $time);
$time = str_replace("H", ":", $time);
$time = str_replace("M", ":", $time);
$time = str_replace("S", "", $time);
echo $time;

如果您喜欢,也许可以在最后一个字符串中添加零填充

票数 0
EN

Stack Overflow用户

发布于 2014-02-05 23:08:52

代码语言:javascript
运行
复制
preg_match('/PT(.+)H(.+)M(.+)S$/', $str, $m3); echo $m3[1].":".$m3[2].":".$m3[3]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21580456

复制
相关文章

相似问题

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