代码之家  ›  专栏  ›  技术社区  ›  Ayaz Alavi

日期时间从格式创建

  •  1
  • Ayaz Alavi  · 技术社区  · 16 年前

    $date = date("Y-m-d", strtotime("03-20-2010"));
    

    3 回复  |  直到 13 年前
        1
  •  5
  •   Paul Dixon    16 年前

    strotime不会识别用“-”分隔的美式排序,但是如果使用“/”分隔符,它就可以正常工作。

    $date = date("Y-m-d", strtotime(str_replace('-', '/', "03-20-2010")));
    

    正如Pekka所指出的,最好是代码明确地声明所使用的格式。

        2
  •  23
  •   Arth    7 年前

    准确的 解决问题!

    DateTime::createFromFormat . (注:要求PHP>=5.3)

    strtotime() 模棱两可/英美偏见。

    这应该起作用:

    $date = DateTime::createFromFormat("Y-m-d", "2010-03-20");
    
        3
  •  1
  •   engvrdr    16 年前

    您可以使用mktime获取时间戳并使用该时间戳

    $exact_time = "03-20-2010";
    $exploded_et = explode("-",$exact_time);
    $date = date("Y-m-d",mktime(0,0,0,$exploded_et[0],$exploded_et[1],$exploded_et[2]));
    
    推荐文章