Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中时间戳的正则表达式_Php_Regex_Time - Fatal编程技术网

php中时间戳的正则表达式

php中时间戳的正则表达式,php,regex,time,Php,Regex,Time,我尝试以这种格式获取时间戳: 2009-11-16T14:05:22-08:00 把它们变成 2009-11-16 如何删除“T”之后的所有内容 假设它们都是这种格式,最简单的方法是: $result = substr($timestamp,0,10); 其中时间戳是您的开始时间戳,结果是您修改的时间戳。也许这样可以: date('Y-m-d', strtotime('2009-11-16T14:05:22-08:00')); 您可以使用: $date现在将是'2009-11-16'因为OP

我尝试以这种格式获取时间戳:

2009-11-16T14:05:22-08:00

把它们变成

2009-11-16


如何删除“T”之后的所有内容

假设它们都是这种格式,最简单的方法是:

$result = substr($timestamp,0,10);
其中时间戳是您的开始时间戳,结果是您修改的时间戳。

也许这样可以:

date('Y-m-d', strtotime('2009-11-16T14:05:22-08:00'));
您可以使用:


$date
现在将是
'2009-11-16'

因为OP将其标记为php和regex问题,我将给他一个php和regex答案:

$result = preg_replace("/T.*/", "", $timestamp);

我考虑过,但是如果我们在一个月内有一个数字,或者在这个月的前几天,这不是一个问题吗?这不会搞砸吗?一位数的月和日可能会有前导零,就像您示例中“14:05:22”中的“05”。格式化该格式(ISO8601,带完整日期和完整时间),您将始终需要接收两位数的日和月
$result = preg_replace("/T.*/", "", $timestamp);