jQuery日期选择器获取日期格式化

10

在使用jQuery日期选择器的代码中,我有两个问题(第一个问题是使用getdate方法弹出时间,但我需要仅以yyyy-mm-dd格式获取日期)。第二个问题是我需要将所选日期放入文本框,但它给出错误信息。

<script src="jquery-1.11.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.datepick.css"> 
<script type="text/javascript" src="jquery.plugin.js"></script> 
<script type="text/javascript" src="jquery.datepick.js"></script>
<script src="jquery.chained.min.js"></script>
<script>
$(document).ready(function(){
$('#popupDatepicker').datepick({
dateFormat: 'yyyy-mm-dd',
onSelect: function(){
var fullDate = $('#popupDatepicker').datepick('getDate');   
document.getElementByID('maach_year').value=fullDate;             
alert (fullDate);
}
});
});
</script>
<form action='".$server['PHP_SELF']."' method='post'>
<table>
<tr><td>Birth Date:</td><td><input type='date' id='popupDatepicker' size='15'     name='birth_day'></td>
 <td>Retirement Date:</td><td><input type='text' size='15' id='maach_year'  name='maach_year' ></td></tr> 
<input type='submit'/><br>
</table> 
</form>

如果可能的话,我想在退休日期文本框中添加用户选择的出生日期加上65年的结果。

谢谢!


虽然不是必需的,但提供一个 http://jsfiddle.net/ 的演示将有助于更快地回答您的问题。 - Anthony
我尝试使用jsfiddle.net,但由于我是初学者,所以在使用这个网站时遇到了问题。例如,jquery日期选择器对我来说无法正常工作,而且我不知道如何将代码发布到网站并获得帮助。非常感谢这个网站。 - hassanab
2个回答

27

DatePicker对象有一个方便实用的内置日期格式化程序,并且由于它是一个实用函数,甚至不需要将DatePicker应用于元素。

var date = new Date();
console.log($.datepicker.formatDate("yy-mm-dd", date));

或者,如果您需要 DatePicker 的日期:

var date = $("#selector").datepicker("getDate");
console.log($.datepicker.formatDate("yy-mm-dd", date));

0
由于函数 getDate() 返回的是一个日期对象,而不是字符串。您可以使用 formatDate() 格式化日期。
$('#maach_year').val($.datepick.formatDate('yyyy-mm-dd', fullDate));

如果你想要增加65年,则为:

如果你想要增加65年,则为:

fullDate.setFullYear(fullDate.getFullYear() + 65)

我尝试了第一个代码(maach_year),但没有给我其中的值。另外,第二个代码给我这个错误{TypeError: fullDate.getFullYear is not a function}。 - hassanab
'yyyy' 返回类似于20192019的内容 - kieran_delaney
你的回答中存在两个问题。datepick 会返回 undefined。日期格式不正确,导致年份输入翻倍。在发布回答前,你应该检查输出结果。 - Pol Rué

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接