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操作ajax返回的json的注意问题!
Feb 23 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
详解Angular中$cacheFactory缓存的使用
Aug 19 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
Sep 24 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
node.js学习之事件模块Events的使用示例
Sep 28 Javascript
angular实现input输入监听的示例
Aug 31 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 daddslashes 使用方法介绍
2012/10/26 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Selenium定位元素操作示例
2018/08/10 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
主管职责范文
2013/11/09 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
解放思想演讲稿
2014/09/11 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
政风行风建设整改方案
2014/10/27 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
余世维讲座观后感
2015/06/11 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS