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 继承详解(四)
Jul 13 Javascript
Javascript 汉字字节判断
Aug 01 Javascript
javascript 事件处理程序介绍
Jun 27 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
jquery实现右侧栏菜单选择操作
Mar 04 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
Apr 13 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
vue初尝试--项目结构(推荐)
Jan 30 Javascript
vue基础之v-bind属性、class和style用法分析
Mar 11 Javascript
javascript中this的用法实践分析
Jul 29 Javascript
Nuxt.js实战和配置详解
Aug 05 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 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
js评分组件使用详解
2017/06/06 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
javascript实现计算器功能
2020/03/30 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Django单元测试工具test client使用详解
2019/08/02 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
打架检讨书500字
2014/01/29 职场文书
社区党务公开实施方案
2014/03/18 职场文书
煤矿安全协议书
2014/08/20 职场文书
快递员岗位职责
2014/09/12 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Python开发五子棋小游戏
2022/04/28 Python