我有一个将两个日期(开始和结束)传递给PHP脚本的表单,该脚本会将这些日期添加到数据库中。我在验证此问题时遇到问题。我不断收到以下错误遇到格式错误的数值这是当我使用以下date("d",$_GET['start_date']);但是,当我按照许多站点的建议使用strtotime()函数时,我得到的UNIX时间戳记日期为1970年1月1日。有什么想法可以找到正确的日期吗?
3 回答
![?](http://img1.sycdn.imooc.com/54584dc4000118d302200220-100-100.jpg)
MYYA
TA贡献1868条经验 获得超4个赞
因为您要将字符串作为第二个参数传递给date函数,所以它应该是整数。
字符串日期(字符串$ format [,int $ timestamp = time()])
尝试使用strtotime,它将任何英语文本日期时间描述解析为Unix时间戳(整数):
date("d", strtotime($_GET['start_date']));
![?](http://img1.sycdn.imooc.com/54586870000183e302200220-100-100.jpg)
慕妹3242003
TA贡献1824条经验 获得超6个赞
$_GET['start_date']我的赌注不是数字,而是所不支持的日期格式strtotime。您将需要将日期重新格式化为strtotime的可行格式,或者使用explode / mktime的组合。
如果您愿意发布当前收到的格式,我可以举个例子。
![?](http://img1.sycdn.imooc.com/533e4cf4000151f602000200-100-100.jpg)
小唯快跑啊
TA贡献1863条经验 获得超2个赞
我遇到了同样的情况(在我的情况下,在Drupal视图的自定义PHP字段中有一个日期值),对我有用的是使用intval而不是strtotime将值转换为整数-因为它基本上是一个时间戳记,但采用字符串形式而不是整数形式。显然并不是每个人都这样,但是值得一试。
- 3 回答
- 0 关注
- 537 浏览
添加回答
举报
0/150
提交
取消