Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将此字符串转换为时间戳PHP_Php_Timestamp_Strtotime_Date Conversion - Fatal编程技术网

将此字符串转换为时间戳PHP

将此字符串转换为时间戳PHP,php,timestamp,strtotime,date-conversion,Php,Timestamp,Strtotime,Date Conversion,我有这个字符串:13/10 15:00,我想将其转换为时间戳,但当我这样做时: $timestamp = strtotime("13/10 15:00"); 它返回一个空值 $timestamp = strtotime("13-10-2013 15:00"); 这可能很重要: m/d/y或d-m-y格式的日期通过查看 不同组件之间的分隔符:如果分隔符是 斜杠/,则假定为美式m/d/y;然而,如果 分隔符是破折号或点,然后是欧洲d-m-y格式 这是假定的 为了避免潜在的歧义,最

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

      $timestamp = strtotime("13/10 15:00");
它返回一个空值

  $timestamp = strtotime("13-10-2013 15:00");
这可能很重要:

m/d/y或d-m-y格式的日期通过查看 不同组件之间的分隔符:如果分隔符是 斜杠/,则假定为美式m/d/y;然而,如果 分隔符是破折号或点,然后是欧洲d-m-y格式 这是假定的

为了避免潜在的歧义,最好使用ISO 8601 YYYY-MM-DD 日期或日期时间::尽可能使用createFromFormat

在您的代码中,strotime试图将13/10转换为13个月的第10天,这将返回一个错误

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

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();

strotime并不是绝对正确的——如果您知道它的格式,那么应该使用PHP5.3.x及以上版本或类似版本。您还需要提供缺少的年份。您的格式不受支持!字符串不是定义良好的日期或时间$timestamp变量,它包含DateTime对象,而不是timestamp。要获取时间戳,请使用$timestamp->getTimestamp;或$timestamp->format'U'@Glavić说得很对——仍然比Strottime更可靠。谢谢。链接到文档: