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开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
JS对select控件option选项的增删改查示例代码
Oct 21 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
Feb 28 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
javascript中Date()函数在各浏览器中的显示效果
Jun 18 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
使用JSON作为函数的参数的优缺点
Oct 27 Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 Javascript
利用原生JS实现data方法示例代码
May 28 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
使用php实现截取指定长度
2013/08/06 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
使用Python的判断语句模拟三目运算
2015/04/24 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
五年级语文教学反思
2016/03/03 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
git中cherry-pick命令的使用教程
2022/06/25 Servers