首页 文章

使用日期输入的strtotime

提问于
浏览
1

现在我有一个包含HTML5日期输入的表单,以及第二个使用strtotime来获取今天工作日(mon,tue等)的隐藏输入 . 问题是,如果有人今天选择12/5,它将输入数据库12/5和星期五,当它真的应该是星期三12/5 .

<input class="form" id="date" type="date" name="date" size="15" placeholder="yyyy-mm-dd" autofocus required />

<input type="hidden" name="weekday" value="<?php echo date('l',strtotime('now')); ?>" />

当我实施它时,我不认为使用今天的日期会是一个问题 . 但是用例已经改变,人们输入新的结果,但使用较旧的日期将不匹配 . 它将在工作日的星期五和星期五显示为12/5,应该是星期三 .

我不确定如何将两个输入链接在一起,因为表单尚未实际提交 . 任何帮助,将不胜感激 .

2 回答

  • 1

    只需使用PHP的DateTime函数并一起删除隐藏的字段 .

    $date = date_create($_POST['date']);
    $day = $date->format('l');
    

    有关DateTime构造的更多信息:http://us3.php.net/manual/en/datetime.construct.php

    我强烈建议养成使用PHP内置的DateTime类而不是传统日期函数的习惯 . 它们通常更容易使用,并且不受unix时期限制的影响 . 它们也可以以面向对象的方式或在程序中使用,具体取决于您的编码偏好 .

  • 1

    为什么不在服务器端执行此操作?

    $date = $_POST["date"];
    $dateString = date('m/d l',strtotime($date));
    

    Read more关于PHP date()

    Read more关于PHP strtotime()

    只需删除隐藏的输入即可 . 没有必要 .

相关问题