更改日期格式以使用数据库进行验证
Posted
技术标签:
【中文标题】更改日期格式以使用数据库进行验证【英文标题】:Changing date format for validation with database 【发布时间】:2015-11-08 09:47:01 【问题描述】:数据库中的日期很少。我必须使用 jQuery datepicker 选择另一个日期。但限制是,我必须选择一个仅在数据库中的日期(在日期选择器中),并在“警报”中显示此验证日期。这里的问题是,在mysql中,日期格式是yyyy-mm-dd,而在datepicker中是mm-dd-yyyy。如何验证这两个日期?我已经搜索了很多解决方案,但没有找到任何解决方案。
数据库日期值和日期选择器选择在同一个文件中。 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 <b></td><td><input id=\"datepicker\" name=\"date\"size=\"15\"/></td></tr>
</table>
<br>
<input type=\"submit\" name=\"submit\" value=\"Submit\" />
</form>";
以下是从 datepicker 中选择日期的代码。
<script>
$(document).ready(function ()
$("#datepicker").datepicker();
$('form#dateform').submit(function()
var aselectedDate = $('#datepicker').val();
if(aselectedDate !='')
alert('You have selected ' + aselectedDate);
return false;
);
);
</script>
【问题讨论】:
可能与***.com/questions/136782/…重复 你可以改变jQuery datepicker的日期格式。请查阅 API 文档。 如何更改数据库日期的格式? 【参考方案1】:最简单的解决方案是将 Datepicker 配置为生成与您从数据库接收到的日期格式相同的日期格式,即:
<script>
$(document).ready(function ()
$("#datepicker").datepicker(
dateFormat: "yy-mm-dd"
);
// other code ...
</script>
查看 jQuery Datepicker 参考以了解如何处理不同日期格式的更多详细信息:
http://api.jqueryui.com/datepicker/
附:特别是,查看日期格式语法:
http://api.jqueryui.com/datepicker/#utility-formatDate
例如,它不支持yyyy
。如果您需要四位数年份,请使用yy
。
【讨论】:
酷,它起作用了...如何更改从数据库中检索到的日期格式?我用谷歌搜索,发现没有办法格式化数据库中的日期。所以,在我的代码中..这些日期以 yyyy-mm-dd 格式检索..如何将它们显示为 dd-mm-yyyy? 我不是PHP大神,但我觉得DateTime的格式化方法应该有帮助:php.net/manual/en/datetime.format.php【参考方案2】:试试这个:
alert('You have selected ' + <? echo date("mm-dd-yyyy", strtotime(selectedDate))); ?>
【讨论】:
以上是关于更改日期格式以使用数据库进行验证的主要内容,如果未能解决你的问题,请参考以下文章
php 以标准格式存储日期。使用访问器和更改器来修改日期格式
Laravel 在 where 子句中更改日期格式以匹配 Carbon::now()