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 相关文章推荐
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
jQuery.fn和jQuery.prototype区别介绍
Oct 05 Javascript
jquery插件推荐 jquery.cookie
Nov 09 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
详解jquery事件delegate()的使用方法
Jan 25 Javascript
基于jQuery实现选项卡效果
Jan 04 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 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 开发环境配置(Zend Studio)
2010/04/28 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php缓存技术详细总结
2013/08/07 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
详解JS面向对象编程
2016/01/24 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
python 实现红包随机生成算法的简单实例
2017/01/04 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
python解析含有重复key的json方法
2019/01/22 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
大学生个人总结的自我评价
2013/10/05 职场文书
个人思想理论学习的自我鉴定
2013/11/30 职场文书
高中学生期末评语
2014/04/25 职场文书
小学数学教研活动总结
2014/07/01 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android