1

现在我有一个包含 HTML5 日期输入的表单和第二个隐藏输入,它使用 strtotime 来获取今天的工作日(周一、周二等)。问题是如果有人选择今天的 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,在工作日中显示为星期五,而应该是星期三。

我不确定如何将两个输入链接在一起,因为表单实际上还没有提交。任何帮助,将不胜感激。

4

2 回答 2

1

你为什么不在服务器端这样做呢?

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

阅读更多关于 PHP date()

阅读更多关于 PHP strtotime()

只需完全删除隐藏的输入。没有必要。

于 2012-12-07T16:33:45.847 回答
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 时代限制的影响。它们也可以以面向对象的方式或程序方式使用,具体取决于您的编码偏好。

于 2012-12-07T16:37:29.127 回答