以下Jquery UI Date Picker
以正确的格式显示日期,但读错了。
HTML:
<input type="text" id="date">
<input type="button" id="btn" value="Show"/>
JavaScript的:
$('#date').datepicker({dateFormat: 'dd-mm-yy'});
$('#btn').click(function(){
var _myDate = new Date($('#date').val());
alert(_myDate);
});
什么错了? (Jsfiddle Here)
它显示日期正确,但读错了......
当我像这样使用它时:
$('#btn').click(function(){
var _myDate = $('#date').val();
alert(_myDate);
});
没关系,但是当使用C#
作为字符串将其传递到服务器端然后将其转换为DateTime
时,如果选择了每个Invalid Date
,则会出现Day
错误大于12
。它将Day
视为一个月。我所需的日期格式为dd/mm/yyyy
。
答案 0 :(得分:6)
也许这是你的答案
$( "#date" ).datepicker({dateFormat: 'mm-dd-yy'});
$('#btn').click(function(){
var _myDate = new Date($('#date').val());
var new_date=_myDate.split('-');
var month=new_date[0];
var day=new_date[1];
var year=new_date[2];
//you have 3 data, month, day and year.
alert(month+"/"+day+"/"+year);
});
您可以使用该3变量日,月,年来编写程序
答案 1 :(得分:0)
将var _myDate = new Date($('#date').val() );
更改为var _myDate = $('#date').val());
答案 2 :(得分:0)
试试这个
$( "#date" ).datepicker({dateFormat: 'mm-dd-yy'});
$('#btn').click(function(){
var _myDate = new Date($('#date').val() );
alert(_myDate);
});
答案 3 :(得分:0)
您不需要日期类型声明 - 您可以这样做
$( "#date" ).datepicker({dateFormat: 'dd-mm-yy'});
$('#btn').click(function(){
var _myDate = $('#date').val();
alert(_myDate);
});
Javascript是一种动态类型语言,因此不需要日期初始化
答案 4 :(得分:0)
试试这个:工作正常
$('#date').datepicker({dateFormat: 'dd-mm-yy', changeMonth:true, changeYear:true,showOn: "both",buttonImage: "",buttonImageOnly: false });
console.log($('#date').val());
答案 5 :(得分:0)
我的javaScript函数......
convertDate = function (strDate) {
var newDate = new Date();
var oldDate = '';
if (strDate.contains('/')) {
oldDate = strDate.split('/');
} else if (strDate.contains('-')) {
oldDate = strDate.split('-');
}
//OldDate format is dd/mm/yyyy
newDate.setDate(oldDate[0]);
newDate.setMonth(oldDate[1] - 1);
newDate.setYear(oldDate[2]);
return newDate;
}
答案 6 :(得分:0)
使用parseDate
解析文本框值的方式与初始设置datepicker的格式相同:
console.log($.datepicker.parseDate("dd-mm-yy", $('#date').val()));
parseDate将返回Date对象,因此您无需手动创建它。