博客
关于我
IE 下new Date() 参数传递的问题
阅读量:797 次
发布时间:2023-03-25

本文共 784 字,大约阅读时间需要 2 分钟。

处理日期字符串在不同浏览器中的差异

在现代浏览器中,直接将字符串传递给Date对象是可行的,但在IE浏览器下会出现特殊情况。

普通浏览器下的实现:

var date = new Date("2011-11-07");

IE浏览器的处理方式特殊,直接使用上述代码会返回NaN值。

IE浏览器下的日期处理解决方案

为解决IE浏览器的特殊性,建议使用自定义函数进行日期处理。

function NewDate(str){
var parts = str.split('-');
var date = new Date();
date.setUTCFullYear(parts[0], parts[1] - 1, parts[2]);
date.setUTCHours(0, 0, 0, 0);
return date;
}

此函数通过分解日期字符串并手动设置时间参数来实现日期的正确处理。

包含时间的日期处理

如果需要同时处理日期和时间,同样可以通过类似的方式实现。

function newDateAndTime(dateStr){
var datePart = dateStr.split(" ")[0].split("-");
var timePart = dateStr.split(" ")[1].split(":");
var r = new Date();
r.setFullYear(datePart[0], datePart[1] - 1, datePart[2]);
r.setHours(timePart[0], timePart[1], timePart[2], 0);
return r;
}

该函数首先处理日期部分,然后分别设置小时、分钟和秒部分。

转载来源:https://my.oschina.net/u/217063/blog/146019

你可能感兴趣的文章
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Network Sniffer and Connection Analyzer
查看>>
Nginx Location配置总结
查看>>
Nginx 反向代理解决跨域问题
查看>>
nginx 后端获取真实ip
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 我们必须知道的那些事
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现atoi函数功能(附完整源码)
查看>>
Objective-C实现base64加密和base64解密算法(附完整源码)
查看>>
Objective-C实现base85 编码算法(附完整源码)
查看>>
Objective-C实现basic graphs基本图算法(附完整源码)
查看>>
Objective-C实现BCC校验计算(附完整源码)
查看>>
Objective-C实现bead sort珠排序算法(附完整源码)
查看>>
Objective-C实现BeadSort珠排序算法(附完整源码)
查看>>