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

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 &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>";

以下是从 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()

使用 JQuery Validate [重复] 以 dd/mm/yyyy 格式验证日期

从 Python 以 json 格式保存数据时,日期格式会自动更改