jQuery的val日期结果为空字符串的一些日期
jQuery val for dates results in empty string for some dates
我有一个非常奇怪的问题。我不确定是偶然发现了一个bug,还是文化问题。
我要做的是计算两个日期之间经过的天数。这在大多数情况下工作得很好。但是对于某些日期,$(date).val()
返回一个空字符串。不知道为什么。
下面是我的代码:
HTML:<ul id="dates">
<li>
<input type="date" class="date" max="2014-07-30" />
</li>
<li>
<input type="date" class="date" max="2014-07-30" />
</li>
</ul>
max属性总是今天的日期。我只是没有为它添加计算。
jQuery/Javascript:var secondToLastRow = list.find('li:nth-last-child(2)');
var lastRow = list.find('li:nth-last-child(1)');
var secondToLastRowDateString = secondToLastRow.find('.date').val();
var secondToLastRowDate = new Date(Date.parse(secondToLastRowDateString));
var lastRowDateString = lastRow.find('.date').val();
var lastRowDate = new Date(Date.parse(lastRowDateString));
var days = (secondToLastRowDate - lastRowDate) / (1000 * 60 * 60 * 24);
如前所述,这可以工作,但是,对于某些日期,它返回空字符串,因此计算得到NaN结果。
我准备了一个jsfiddle:
http://jsfiddle.net/52CPp/尝试输入任何你想要的,然后尝试使用2014-02-30作为第一个日期,它停止工作。
我在瑞典使用Chrome版本36.0.1985.125 m
还有其他人有同样的问题吗?这是文化问题吗?一个错误?
在IE10中尝试过,问题无法重现。
敬上,
罗宾
有人这样想:
var secondToLastRowDate = new Date(Date.parse(secondToLastRowDateString));
if (isNaN(secondToLastRowDate)==true)
{
alert("First date is not valid!");
return;
}
这是我的工作小提琴
相关文章:
- 在JavaScript中拆分日期字符串的更好方法是什么
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 分析特定区域设置(而不是时区!)中的日期字符串
- PHP strtotime()为JavaScript日期字符串返回false
- 如何将毫秒转换为日期字符串
- 正在使用日期字符串初始化javascript日期对象
- 新Date()javascript的日期字符串
- 使用moment.js分析日语日期字符串
- 将日期字符串转换为数字以进行比较
- 分析具有不同日期格式的日期字符串
- 将带有 AM/PM 的日期字符串转换为 javascript 日期对象
- 将日期字符串转换为另一种语言
- 日期 ISO 日期字符串问题
- JavaScript 时刻格式日期字符串
- Javascript使用php日期字符串显示2014年而不是2013年
- MomentJS从日期字符串解析午夜本地
- Javascript Date对象到日期字符串
- 如何使用Javascript将iOS日期字符串转换为格式化日期
- 将日期字符串隐藏到日期对象中