更改日期格式以使用数据库进行验证

Changing date format for validation with database

数据库中的日期很少。我必须使用 jQuery 日期选择器 select 另一个日期。但限制是,我必须 select 一个仅在数据库中的日期(在日期选择器中),并在 'alert' 中显示此验证日期。这里的问题是,在 mysql 中,日期格式是 yyyy-mm-dd,而在 datepicker 中是 mm-dd-yyyy。我如何验证这两个日期?我已经搜索了很多解决方案,但没有找到。

数据库日期值和日期选择器 selection 在同一个文件中。 associate.php

echo "<center><table border=2 cellpadding=25 cellspacing=0 width=200 style='border-collapse:collapse;table-layout:fixed;width:210pt'></center>
<tr>
<th> S.No</th>
<th>Date</th>
<th>Event</th>
</tr>";
while($record = mysql_fetch_array($myData)){
  echo "<tr>";
  echo "<td>" . $record['S.No'] . "</td>";
  echo "<td>" . $record['Date'] . "</td>"; 
  echo "<td>" . $record['Event'] . "</td>";
  echo "</tr>";
}
echo "</table>";

echo "<form id=\"dateform\" name=\"dateform\" action=\"#\" method=\"POST\"><br><br>
<table>
<tr><td>
<b>Select a date &nbsp;&nbsp;<b></td><td><input id=\"datepicker\" name=\"date\"size=\"15\"/></td></tr>

</table>
<br>
<input type=\"submit\" name=\"submit\" value=\"Submit\" />&nbsp;
</form>";

以下是 select 来自日期选择器的日期的代码。

<script>
$(document).ready(function () {
  $("#datepicker").datepicker();
  $('form#dateform').submit(function(){ 
    var aselectedDate = $('#datepicker').val();
    if(aselectedDate !=''){
      alert('You have selected ' + aselectedDate);
    }
    return false;
  });
});
</script>

最简单的解决方案是将 Datepicker 配置为生成与从数据库接收到的日期格式相同的日期格式,即:

<script>
$(document).ready(function () {
    $("#datepicker").datepicker({
       dateFormat: "yy-mm-dd"   
    });

// other code ...

</script>

查看 jQuery 日期选择器参考以了解如何处理不同日期格式的更多详细信息:

http://api.jqueryui.com/datepicker/

P.S。特别是,查看日期格式化语法:

http://api.jqueryui.com/datepicker/#utility-formatDate

例如不支持yyyy。如果您需要四位数年份,请使用 yy.

试试这个:

alert('You have selected ' + <? echo date("mm-dd-yyyy", strtotime(selectedDate))); ?>