Php 如何提取y-m-d格式的日期值?

Php 如何提取y-m-d格式的日期值?,php,regex,string,date-parsing,Php,Regex,String,Date Parsing,假设我有这个日期:2016-07-27。我想要实现的是: $year = 2016; $month = 07; $day = 27; 我所尝试的: $year=preg_match(“/^[^-]*/”,“2016-07-27”)返回:1 $month=preg_match((?不要重新发明轮子-将为您完成所有繁重的工作: $parsed = date_parse('2016-07-27'); $year = $parsed['year']; $month = $parsed['month'

假设我有这个日期:
2016-07-27
。我想要实现的是:

$year = 2016;
$month = 07;
$day = 27;
我所尝试的:

  • $year=preg_match(“/^[^-]*/”,“2016-07-27”)
    返回
    1

  • $month=preg_match((?不要重新发明轮子-将为您完成所有繁重的工作:

    $parsed = date_parse('2016-07-27');
    $year = $parsed['year'];
    $month = $parsed['month'];
    $day = $parsed['day'];
    

    如果它是一个不会改变格式的字符串,那么您可以简单地执行以下操作:

    $date = '2016-07-27';
    list($year, $month, $day) = explode('-', $date);
    
    echo $year; // 2016
    echo $month; // 07
    echo $day; // 27
    

    但是,如果日期格式发生变化,那么您应该使用
    date\u parse
    或其他
    DateTime
    方法。

    这是因为如果模式匹配,则返回1,如果不匹配,则返回0。您是否搜索过关于您的问题的Google或其他帖子?&&&&&&&(有些可能不是完全相同的,但它们确实有用)@johncodethanks@Fred ii-。错过了那个。@Mureinik我不知道这个函数存在。谢谢你指出它。回答得好。我会接受它,因为它比较短,并且在开始时保留了0。