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 相关文章推荐
javascript 命名空间以提高代码重用性
Nov 13 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
JavaScript实现select添加option
Jul 03 Javascript
javascript获取当前的时间戳的方法汇总
Jul 26 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
关于JS 预解释的相关理解
Jun 28 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
详解使用mpvue开发github小程序总结
Jul 25 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 Javascript
(开源)微信小程序+mqtt,esp8266温湿度读取
Apr 02 Javascript
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
浅析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
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
详解Python中find()方法的使用
2015/05/18 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
python实现吃苹果小游戏
2020/03/21 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
公司大门门卫岗位职责
2014/06/11 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
个人总结怎么写
2015/02/26 职场文书