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 相关文章推荐
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 Javascript
js严格模式总结(分享)
Aug 22 Javascript
整理关于Bootstrap表单的慕课笔记
Mar 29 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
Apr 10 Javascript
ES6顶层对象、global对象实例分析
Jun 14 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
JS实现滑动导航效果
Jan 14 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框架Phpbean说明
2008/01/10 PHP
session在PHP大型web应用中的使用
2011/06/25 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
解放web程序员的输入验证
2006/10/06 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
Python3基础之函数用法
2014/08/13 Python
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
python与C互相调用的方法详解
2017/07/14 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
关于读书的演讲稿300字
2014/08/27 职场文书
开展创先争优活动总结
2014/08/28 职场文书
员工离职感谢信
2015/01/22 职场文书
催款函怎么写
2015/06/24 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL