我在将格式化日期字符串转换为整数时间戳时遇到问题。我正在使用日期选择器输入一个字段,例如DD/MM/YY
我正在使用strtotime
改变它。
用法示例
$date_from = (!empty($_POST['datefrom'])) ? (string) $db->sql_escape($_POST['datefrom']) : false;
$date_to = (!empty($_POST['dateto'])) ? (string) $db->sql_escape($_POST['dateto']) : false;
$time_from = (!empty($_POST['timefrom'])) ? (string) $db->sql_escape($_POST['timefrom']) : '';
$time_to = (!empty($_POST['timeto'])) ? (string) $db->sql_escape($_POST['timeto']) : '';
Dumps
var_dump($_POST);
var_dump($date_from . ' ' . $time_from);
var_dump($date_to . ' ' . $time_to);
Outputs
array(4) {
["datefrom"]=>
string(10) "23/03/2011"
["dateto"]=>
string(10) "18/04/2011"
["timefrom"]=>
string(5) "01:26"
["timeto"]=>
string(5) "04:44"
}
string(16) "23/03/2011 01:26"
string(16) "18/04/2011 04:44"
现在您可以看到每个变量都不为空,现在没有任何返回(除了false
)当使用strtotime
有了这个:
$range_from = strtotime($date_from . ' ' . $time_from);
$range_to = strtotime($date_to . ' ' . $time_to);
var_dump($range_from);
var_dump($range_to);
Outputs
bool(false)
bool(false)
现在这就是我一直在想为什么它不转换DD/MM/YY HH:MM
进入时间戳,我几乎找不到它有什么问题......
See http://php.net/strtotime http://php.net/strtotime
m/d/y 或 d-m-y 格式的日期
通过查看来消除歧义
各个之间的分隔符
组件:如果分隔符是
斜杠 (/),则美式 m/d/y 为
假定;而如果分隔符是
破折号 (-) 或点 (.),然后
假定采用欧洲 d-m-y 格式。
m/d/y 中的 23/03/2011 无效,因此该函数返回 false。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)