Pre*_*fix 22 php date strtotime
我很遗憾无法使用DateTime()此项目所在的服务器运行PHP v.5.2.
有问题的一行:
$aptnDate2 = date('Y-m-d', $_POST['nextAppointmentDate']);
Run Code Online (Sandbox Code Playgroud)
抛出以下错误:
Notice: A non well formed numeric value encountered
Run Code Online (Sandbox Code Playgroud)
所以我var转储以确保它的格式良好..
var_dump($_POST['nextAppointmentDate']);
string(10) "12-16-2013"
Run Code Online (Sandbox Code Playgroud)
在PHP的文档说明,它需要一个时间戳不是一个字符串.但是当我这样做时:
date('Y-m-d', strtotime($_POST['nextAppointmentDate']));
Run Code Online (Sandbox Code Playgroud)
然后var_dump结果,我明白了:
string(10) "1969-12-31"
Run Code Online (Sandbox Code Playgroud)
为什么我不能使用此日期值和strtotime()格式化日期?
谢谢!
Ama*_*ali 55
从以下文档strtotime():
通过查看各个组件之间的分隔符来消除m/d/y或dmy格式的日期:如果分隔符是斜杠(/),则假设为美国m/d/y; 而如果分隔符是破折号( - )或点(.),则假定为欧洲dmy格式.
在你的日期字符串中,你有12-16-2013.16不是有效月份,因此strtotime()返回false.
由于您不能使用DateTime类,您可以手动替换-with /using str_replace()以将日期字符串转换为strtotime()可理解的格式:
$date = '2-16-2013';
echo date('Y-m-d', strtotime(str_replace('-','/', $date))); // => 2013-02-16
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98692 次 |
| 最近记录: |