我有一个这样的变量
$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