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 相关文章推荐
Gird事件机制初级读本
Mar 10 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
JavaScript解析json格式数据简单示例
Dec 09 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
基于d3.js实现实时刷新的折线图
Aug 03 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
Mar 09 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
Sep 04 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
Postman内建变量常用方法实例解析
Jul 28 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php的控制语句
2006/10/09 PHP
php中常用编辑器推荐
2007/01/02 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
Python抽象类的新写法
2015/06/18 Python
Python字符串对象实现原理详解
2019/07/01 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
清扬洗发水广告词
2014/03/14 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
演讲稿开场白台词
2014/08/25 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
南湾猴岛导游词
2015/02/09 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
2015年教师节新闻稿
2015/07/17 职场文书