从Regional Datetime字符串获取日期

时间:2013-09-09 10:03:22

标签: php date strtotime

我想使用php:

从以下字符串中获取日期:2013-09-24
$2013-09-24T11:53:58+02:00am09pam53119_Tue, 24 Sep 2013 11:53:58 +0200Europe/Berlin58000000Tuesday30[0]

我从这行代码中获得了字符串:

 $second_date =  date('$first_date[0]', strtotime("+15 days") );

是否有任何php内置函数可以执行此操作或最简单的方法?

2 个答案:

答案 0 :(得分:2)

如果你有那个奇怪的字符串,那就用这个

<?php    

$str = "$2013-09-24T11:53:58+02:00am09pam53119_Tue, 24 Sep 2013 11:53:58 +0200Europe/Berlin58000000Tuesday30[0]";
$pattern = '/[0-9]{4}-[0-9]{2}-[0-9]{2}/';
preg_match($pattern, $str, $matches);

?>

答案 1 :(得分:0)

使用DateTime课程。你甚至可以获取时间和时区:

$str = "$2013-09-24T11:53:58+02:00am09pam531.....";
$dt = new DateTime(substr($str, 1, 25));

echo $dt->format('Y-m-d');
# 2013-09-24

print_r($dt);
/*
DateTime Object
(
    [date] => 2013-09-24 11:53:58
    [timezone_type] => 1
    [timezone] => +02:00
)
*/