我想在我的网页上显示以下日期格式:
dd MM, yy
(像这样23 September, 2015
)
因此我加入了以下JavaScript
$('#datepicker').datepicker({ dateFormat: 'd MM, yy' });
但MySQL数据库接受以下日期格式来执行查询:
yy-mm-dd
(像这样2015-09-23
)
在下面的代码中,我试图将MySQL所需的格式存储在变量中,以便通过ajax调用将其传递给PHP
var history_date = $('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' }).val();
但变量history_date
以网页显示格式返回,如23 September, 2015
(不适合MySQL查询)。
请给我一些解决方案,以便为显示和数据库访问两种不同的日期格式。
答案 0 :(得分:2)
您通常会使用alternate field。因此,您可以选择要显示的前端格式,但要通过ajax发送另一个值,以满足您的需求。
$( "#datepicker" ).datepicker({
dateFormat: 'd MM, yy',
altField: "#alternate",
altFormat: "dd-mm-yy"
});
然后,您可以从#alternate
dom对象中获取日期。这可以是隐藏的输入字段。
<input type="hidden" id="alternate">
获取ajax调用的值可以正常工作。
var history_date = $('#alternate').val();
答案 1 :(得分:-2)
我使用moment.js格式化您从日期选择器返回的日期。否则只需抓住日期并适当地格式化自己。
var history_date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).getDate()
var day = history_date.getDate();
var monthIndex = history_date.getMonth()+1;
var year = history_date.getFullYear();
var date_formatted = year+"-"+month+"-"+day;