我收到如下所示的API的响应
2019-05-08T10:36:00+0530
我想从中取10:36
,现在我用正则表达式做某事,例如
preg_match('/T(.*?)\:00/');
它可以工作,但是还有其他实际方法可以更有效地做到吗?可以在这种格式的任何时间字符串上使用吗?
答案 0 :(得分:4)
通过将该字符串传递到构造函数中来创建DateTime对象,并根据自己的喜好用format()
将其格式化!如果只需要小时和分钟,则可能需要H:i
;如果只需要秒数,则可能需要H:i:s
。
$string = "2019-05-08T10:36:00+0530";
$date = new DateTime($string);
echo $date->format("H:i:s");
答案 1 :(得分:0)
如果您的字符串格式是固定的,则可以使用substr()。
$string = "2019-05-08T10:36:00+0530";
echo substr($string, 11, 5);
输出:
10:36