js字符串日期yyyy-MM-dd转化为date示例代码


Posted in Javascript onMarch 06, 2014

最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN

找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数

对于js操作日期:

创建一个日期对象:

var objDate=new Date([arguments list]);

参数形式有以下5种:

view plainnew 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:用整数表示月份,从0(1月)到11(12月)
Content

dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数,表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。

我发现了:

Javascript中日期的构造还可以支持 new Date("yyyy/MM/dd"); 其中:MM是整数表示月份从0(1月)到11(12月),这样再利用正则表达式就很方便地能够转换字符串日期了。

测试代码:

<mce:script type="text/javascript"><!-- 
document.write("<br/>" + new Date("February 3,2009")); 
document.write("<br/>" + new Date("February 3,2009 10:52:03")); 
document.write("<br/>"); 
document.write("<br/>" + new Date(2009,1,3)); 
document.write("<br/>" + new Date(2009,1,3,10,52,03)); 
document.write("<br/>"); 
document.write("<br/>" + new Date(Date.parse("February 3,2009"))); 
document.write("<br/>" + new Date(Date.parse("February 3,2009 10:52:03"))); 
document.write("<br/>" + new Date(Date.parse(2009,1,3))); //Output: NAN 
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))); //Output: NAN 
document.write("<br/>" + new Date(Date.parse("2009/02/03"))); 
document.write("<br/>"); 
document.write("<br/>" + new Date("2009/02/03")); 
document.write("<br/>" + new Date("2009/02/03 11:12:13")); 
document.write("<br/>" + new Date("2009-02-03")); //Output: NAN // --></mce:script>

输出结果:

Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009

Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009

Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 10:52:03 UTC+0800 2009
NaN
NaN
Tue Feb 3 00:00:00 UTC+0800 2009

Tue Feb 3 00:00:00 UTC+0800 2009
Tue Feb 3 11:12:13 UTC+0800 2009
NaN
-------------------

window.onload=function(){ 
var dependedVal="2005-3-4"; 
//根据日期字符串转换成日期 
var regEx = new RegExp("\\-","gi"); 
dependedVal=dependedVal.replace(regEx,"/"); 
//dependedVal=dependedVal.replace("\\-","/");//这样不行 
alert(dependedVal) 
//parse 需要 2005/3/4 这种格式 
var milliseconds=Date.parse(dependedVal); 
alert(milliseconds) 
var dependedDate=new Date(); 
dependedDate.setTime(milliseconds); var now = new Date(); 
//注意括号,优先级问题,无奈 
alert("相隔年数:"+(now.getFullYear() - dependedDate.getFullYear())); 
}

其实日期在浏览器和服务器之间传输都要通过毫秒值来传,否则就会报错 400错误!
Javascript 相关文章推荐
javascript 学习之旅 (3)
Feb 05 Javascript
JS在IE和FireFox之间常用函数的区别小结
Mar 12 Javascript
高性能JavaScript 重排与重绘(2)
Aug 11 Javascript
基于JavaScript实现智能右键菜单
Mar 02 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
简单实现js页面切换功能
Jan 10 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 Javascript
浅析JS中document对象的一些重要属性
Mar 06 #Javascript
浅析jquery的js图表组件highcharts
Mar 06 #Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 #Javascript
javascript简单实现命名空间效果
Mar 06 #Javascript
深入剖析JavaScript中的枚举功能
Mar 06 #Javascript
javascript模拟枚举的简单实例
Mar 06 #Javascript
js模拟C#中List的简单实例
Mar 06 #Javascript
You might like
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
django rest framework使用django-filter用法
2020/07/15 Python
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
植树节活动总结
2014/04/30 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
2015年政教主任工作总结
2015/07/23 职场文书