最近想要慢慢建立自己的代码库,整理了几个之前用到的js处理时间的函数,发出来跟大家分享一下,以后的使用中会不断增加和修改代码库。
一、把字符串转换为日期对象
有时需要把字符串转换为日期对象,但是IE下不支持new Date(“2011-04-07”)这样实例化日期对象,ff下支持,所以写了一个扩展函数,用来把形如yyyy-mm-dd或者dd/mm/yyyy的字符串转换为日期对象。代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
测试:
<script type="text/javascript">
document.writeln(new Date().convertDate("7/12/2011"));
</script>
输出:
Wed Dec 07 2011 17:30:58 GMT+0800
二、计算两个日期之间的差值
这个函数可以计算两个日期之前的差值(毫秒/秒/分/小时/天),主要用到了getTime()函数和Math.floor()函数,代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
测试:
<script type="text/javascript">
var d1 = new Date().convertDate("2011-04-08");
var d2 = new Date().convertDate("2011-04-07");
document.writeln(d1.dateDiff(d2, 'd'));
</script>
结果:
1
三、判断一个年份是否为闰年
代码:
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
测试:
<script type="text/javascript">
document.writeln(new Date().convertDate("2000-04-08").isLeapYear() + "<br />");
document.writeln(new Date().convertDate("2011-04-08").isLeapYear() + "<br />");
</script>
结果:
true
false
四、格式化日期
这个函数是从网上搜来的,稍微修改了一下,它类似.net中Format函数,传入格式化字符串如”yyyy-MM-dd”,返回格式化后的日期。
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
测试:
<script type="text/javascript">
document.writeln(new Date().format("yyyy-MM-dd hh:mm:ss"));
</script>
结果:
2011-04-08 10:13:37
以后的工作和学习中,会不断增加和完善自己的代码库,有什么问题请多多指教