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 Firefox与IE 替换节点的方法
Feb 24 Javascript
JavaScript中两个感叹号的作用说明
Dec 28 Javascript
Javascript实现滑块滑动改变值的实现代码
Apr 12 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
javascript替换已有元素replaceChild()使用介绍
Apr 03 Javascript
Highcharts学习之坐标轴
Aug 02 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
Mar 26 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
vue2.x 对象劫持的原理实现
Apr 19 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
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
用 JSON 处理缓存
2007/04/27 Javascript
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python与字符编码问题
2019/05/24 Python
PyQt5响应回车事件的方法
2019/06/25 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
刘胡兰的英雄事迹材料
2014/02/11 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
异地恋情人节寄语
2015/02/28 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
导游词之吉林花园山
2019/10/17 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL