将此字符串转换为时间戳PHP
我有这个字符串:13/10 15:00,我想将其转换为时间戳,但当我这样做时:将此字符串转换为时间戳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格式 这是假定的 为了避免潜在的歧义,最
$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更可靠。谢谢。链接到文档: