如何在日期时间格式变量中获取时间或日期



我有一个这样的变量

$string = '2019-10-07T19:00:00+07:00';

它是ISO8601格式的日期时间。 如何获取日期或仅获取时间?

或者有什么方法可以将其转换为另一种格式吗?

喜欢:

$str = '2019-10-07'

感谢您的帮助!

最简单的方法是将字符串转换为 php 时间(整数( 然后仅显示此时间的年、月和日。

$string = '2019-10-07T19:00:00+07:00';
echo $string;
echo "</br>";
echo date("Y-m-d", strtotime($string));
> result :
> 2019-10-07T19:00:00+07:00
> 2019-07-10

https://www.php.net/manual/en/function.date.php

https://www.php.net/manual/en/function.strtotime.php

希望对您有所帮助

输入字符串包含时区信息 (+07: 00(。日期时间类可确保使用此时区,而不考虑服务器的区域设置。

$string = '2019-10-07T01:00:00+07:00';
$dt = date_create($string);
var_dump($dt);
//object(DateTime)#1 (3) { ["date"]=> string(26) "2019-10-07 01:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+07:00" }
echo $dt->format('Y-m-d');
//2019-10-07

date(( 使用服务器的本地时区。如果这与输入字符串的时区不匹配,则结果将是错误的:

setlocale(LC_ALL, 'nl_NL');
$string = '2019-10-07T01:00:00+07:00';
echo date("Y-m-d H:i:s",strtotime($string));

输出

2019-10-06 20:00:00

最新更新