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 相关文章推荐
用roll.js实现的图片自动滚动+鼠标触动的特效
Mar 18 Javascript
js调用flash的效果代码
Apr 26 Javascript
提高网站性能之 如何对待JavaScript
Oct 31 Javascript
JQuery 将元素显示在屏幕的中央的代码
Feb 27 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
Dec 08 Javascript
vue打包使用Nginx代理解决跨域问题
Aug 27 Javascript
vue根据条件不同显示不同按钮的操作
Aug 04 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 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 文件上传代码(限制jpg文件)
2010/01/05 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
ext实现完整的登录代码
2008/08/08 Javascript
IE php关于强制下载文件的代码
2008/08/23 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
Python中的exec、eval使用实例
2014/09/23 Python
python简单文本处理的方法
2015/07/10 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
PHP开发的一般流程
2013/08/13 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
师范教师毕业鉴定
2014/01/13 职场文书
社区健康教育实施方案
2014/03/18 职场文书
春节联欢会主持词
2014/03/24 职场文书
工程售后服务方案
2014/06/08 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
个人总结格式范文
2015/03/09 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
乡镇团代会开幕词
2016/03/04 职场文书