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

将此字符串转换为时间戳PHP[重复]

  •  23
  • user2876368  · 技术社区  · 11 年前

    我有一个字符串:“13/10 15:00”,我想将其转换为时间戳,但当我这样做时:

          $timestamp = strtotime("13/10 15:00");
    

    它返回一个空值。

    2 回复  |  直到 11 年前
        1
  •  53
  •   Glavić    11 年前

    在您的代码中 strtotime() 正在尝试转换 13/10 作为第13个月的第10天,返回一个错误。

    如果要使用自定义格式解析日期字符串,最好使用DateTime::createFromFormat():

    $dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
    $timestamp = $dtime->getTimestamp();
    
        2
  •  27
  •   Lajos Veres    11 年前
      $timestamp = strtotime("13-10-2013 15:00");
    

    这可能很重要:

    m/d/y或d-m-y格式的日期通过查看 不同组件之间的分隔符:如果分隔符是 斜线(/),则假定为美国m/d/y;而如果 分隔符是短划线(-)或点(.),然后是欧洲d-m-y格式 假设。

    为了避免潜在的歧义,最好使用ISO 8601(YYYY-MM-DD) dates或DateTime::createFromFormat()(如果可能)。

    http://uk3.php.net/strtotime