为什么萤火虫不打破日期
why firefox does not break the date?
请帮助打破组件上的日期线。
https://jsfiddle.net/xwvrtLt1/2/
在chrome中,这是有效的(控制台显示日期没有问题)。但在FF中它不起作用(控制台显示错误)
js:
var checkNeedZero = function(num) {
if(num < 10) { num = '0' + num; };
return num;
};
var dateRaw = '2016-03-14 17:37:12';
var date = new Date(dateRaw),
monthNum = checkNeedZero(date.getMonth()),
day = checkNeedZero(date.getDate()),
year = date.getFullYear(),
hours = checkNeedZero(date.getHours()),
minutes = checkNeedZero(date.getMinutes());
console.log(date);
var vv = new Date(dateRaw);
console.log(vv);
console.log('---');
日期格式无效,但两种不同的浏览器处理它的方式不同(Chrome在无效日期附近工作,而Firefox则会抛出错误)。
为了使其有效,您可以在日期和时间之间添加一个T
字符:
var dateRaw = '2016-03-14T17:37:12';
但我得到了一个特定格式的日期。我不能改变它
在这种情况下,您需要使用JavaScript:添加T
字符
var dateRaw = '2016-03-14 17:37:12'.replace(' ', 'T');
这将用Date.parse(string)
字符替换(空格)字符。
在Date构造函数中,它们使用与NaN
中相同的机制,后者的优点是它不会为无效日期抛出错误,而是返回CCD_6。
此链接:https://msdn.microsoft.com/en-us/library/ff743760(v=vs.94).aspx#Anchor_2描述了哪些日期被认为是有效的,主要是简化的ISO8601格式(YYYY-MM-DDTHH:MM:ss.sssZ-仅适用于Internet Explorer 9及以上版本,不适用于怪癖模式),然后尝试完整的格式列表:https://msdn.microsoft.com/en-us/library/ff743760(v=vs.94).aspx#Anchor_4
ECMA脚本标准6.0支持ISO8601格式:http://www.ecma-international.org/ecma-262/6.0/#sec-日期时间字符串格式,但如果失败,可以尝试特定的供应商实现。
一句话:你可以用大写的"T"分隔日期和时间,也可以用斜线代替破折号,使日期有效。
- Highchart UTC日期始终设置为1970年1月1日
- 从日期数组中返回最新日期
- Regexp日期格式为“;2005年5月10日”;javascript
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 从日期选择器进行按日搜索
- Javascript日期对象:从5月31日跳到下个月得到7月1日
- Javascript日期允许使用无效数据(例如2月30日)
- j查询验证单独的年、月、日的日期字段
- 无法将我的日期日/月/年格式化为月/日/年
- 获取日/月/年 HH:MM:SS FROM YYYY-MM-DDTHH:MM:SS.SSSZ 日期格式 在 Angula
- 日/月/年格式的日期的 Jquery 验证方法
- 在 JavaScript 中将日期 2013-11-05 转换为 2013 年 11 月 5 日星期二
- 如何将此日期“太平洋标准时间 2016 年 3 月 9 日星期三 09:48:09”转换为“YYYY-MM-DD HH:
- 完整日历日 单击日更改为该特定日期的议程视图
- 在完整日历中禁用过去日期的日单击无法正常工作
- 给定特定日期(日/月/年)返回一周的开始 + 结束
- 如何在 Javascript 中从静态日期数组创建日期间隔数组
- 日期选择器 UI 在更改月份年份之前运行在显示日之前
- 将以毫秒为单位的日期转换为日/月/年
- 使用皮卡日日期选择器创建日期范围字段