JS求当前日期后N天。IE环境下出现NaN
目前的写法
function setTime(duration){
var bTime = $('#startTime').val();
if(bTime==''){
alert('请输入开始时间');
return;
}else{
var later = new Date(bTime);
later.setDate(later.getDate()+parseInt(duration));
return later.Format("yyyy-MM-dd hh:mm:ss");
}
}
该方法在IE下出现NaN,搜索未果。望老手帮助。
jquery JavaScript internet-explorer
诹访佩安诺
10 years, 3 months ago
Answers
我也折腾了一下,查了资料说,Date.parse()方法不能兼容所有浏览器的。
参考了Dont的答案,稍稍做下改进吧。
function setTime(duration){
var bTime = $('#startTime').val();
if(bTime==''){
alert('请输入开始时间');
return;
}else{
var array = bTime.match(/\d+/g);
bTime = array[0]+'/'+array[1]+'/'+array[2];
var later = new Date(bTime);
later.setHours(parseInt(array[3]), parseInt(array[4]));
later.setDate(later.getDate()+parseInt(duration));
// 这个Format方法哪里来的?
return later.Format("yyyy-MM-dd hh:mm:ss");
}
}
八雲家的貘
answered 10 years, 3 months ago
js new Date()参数形式:
new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy, mth, dd, hh, mm, ss);
new Date(yyyy, mth, dd);
new Date(ms);
month:用英文 表示月份名称,从January到December
mth:用整数表示月份,从(1月)到11(12月)
dd:表示一个 月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm: 分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数
犬神洛洛子
answered 10 years, 3 months ago
Q群里聊过了。主要是你的
$('#startTime')
文本格式问题。
这个问题可以 追溯到>>
然后我才记起原来解析时间格式上浏览器有的格式是不支持的。
这里解释一下你的思路,首先,你的需求是对
2014-10-01 10:00
这样的字符串做解析成时间。
所以,针对这种格式,首先是
ie
对
new Date('2014-10-01')
会得到
NaN
.
因此我们大可改成浏览器都喜欢的格式,比如
10/01/2014
这样,
new Date('10/01/2014')
就是你要的日期了,但是这里还有个小时和分的具体时间,
那么由上面
new
到的
Date
,假设赋给了
meDate
,那么可以用
meDate.setHours(hour, minute)
所以改后的代码应该差不多这样:
function setTime(duration){
var bTime = $('#startTime').val();
if(bTime==''){
alert('请输入开始时间');
return;
}else{
var timePar = bTime.split(' ');
var timeDate = timePar[0].split('-');
bTime = timeDate[1]+'/'+timeDate[2]+'/'+timeDate[0];
var later = new Date(bTime);
var timeHour = timePar[1].split(':');
later.setHours(timeHour[0], timeHour[1]);
later.setDate(later.getDate()+parseInt(duration));
return later.Format("yyyy-MM-dd hh:mm:ss");
}
}
最后,我提一下,以后涉及到时间,留意一下
new Date(str)
中
str
的格式问题哟。
疾风D悠月つ
answered 10 years, 3 months ago