代码之家  ›  专栏  ›  技术社区  ›  chrizonline

以dd/mm/yyy格式指定日期时,strtotime()不返回正确的值

  •  2
  • chrizonline  · 技术社区  · 15 年前

    24/09/2010 格式 dd/mm/yyyy 2010-09-24 格式 yyyy-mm-dd .

    这是有效的:

    date("Y-m-d",strtotime("09/24/2010"));
    

    但这并不意味着:

    date("Y-m-d",strtotime("24/09/2010")); // it returns '1970-01-01'
    

    知道为什么吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   gianebao Charitha    15 年前

    根据php,说明了有效的php格式 here . 所以基本上你给的是无效的。

    mktime , date_parse_from_format date_create_from_format

        2
  •  2
  •   GSto    14 年前

    strtotime

    你可以使用 mktime() explode()

    $date = "24/09/2010";
    $dateArr = explode("/",$date);
    $timeStamp = mktime(0,0,0,$dateArr[1],$dateArr[0],$dateArr[2]);
    $newFormat = date("Y-m-d",$timeStamp);
    
        3
  •  0
  •   T_t    15 年前

    正如你所说, 日期(“Y-m-d”,标准时间(“2010年9月24日”) 会起作用的,因为日期格式--“09/24/2010”是正确的, 但是“2010年9月24日”不是正确的日期格式。 你能找到有用的东西 here

    推荐文章