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 纯数字不重复排列的另类方法
Jul 17 Javascript
js setTimeout 常见问题小结
Aug 13 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
javascript调试之DOM断点调试法使用技巧分享
Apr 15 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
微信小程序“摇一摇”的实例代码
Jul 20 Javascript
JavaScript闭包和回调详解
Aug 09 Javascript
create-react-app 修改为多入口编译的方法
Aug 01 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
JS如何生成动态列表
Sep 22 Javascript
四十九个javascript小知识实用技巧
Nov 20 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 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实现mysql数据库备份类
2008/03/20 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
utf8的编码算法 转载
2006/12/27 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
js document.write()使用介绍
2014/02/21 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
[05:24]TI9采访——教练
2019/08/24 DOTA
java直接调用python脚本的例子
2014/02/16 Python
win7 下搭建sublime的python开发环境的配置方法
2014/06/18 Python
python进程类subprocess的一些操作方法例子
2014/11/22 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
python去除文件中重复的行实例
2018/06/29 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
opencv python图像梯度实例详解
2020/02/04 Python
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
上班迟到检讨书
2014/01/10 职场文书
全国文明单位申报材料
2014/05/31 职场文书
会计岗位说明书
2014/07/29 职场文书
通知书大全
2015/04/27 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
在 Python 中利用 Pool 进行多线程
2022/04/24 Python