雷人的js时间函数

1.js时间对象的创建:

 

(1)     首先可以确定的是,js不像java能直接识别时间string,如下得到的将会是NaN

dateVal="2008-07-15 14:22:12";
dateObj = new Date(dateVal) 
 

(2)     date支持参数创建,new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])

下面这个例子,会得到日期2009-09-08么??

var newDate=new Date(2009,09,08);
alert(newDate);

  结果是得不到的,居然产生日期2009年10月8号


(3)   date还支持另外一种格式的参数,即

var newDate=new Date("2009/09/08");
alert(newDate);

 这种格式得到的日期会不会也是09年10月8号呢?我靠,这个格式的居然是日期2009年9月8号


 

对比情况2跟3,就真的很雷人了。。。有点类似java里面Calendar,月份是从0开始计算的。

 

 

ps. js的时间比较是可以直接用大于小于号的。

 

附两个string格式化成date的函数:(分别针对2,3两种情况,注意月份的处理)

 

//时间转换 “2009-09-08“
function strToDate(str)
{
  var arys= new Array();
  arys=str.split('-');
  var newDate=new Date(arys[0],arys[1]-1,arys[2]);
  return newDate;
} 

 

 

//时间转换 “2009-09-08“
function strToDate(str){
   str   =   str.replace(/-/g,'/');  
   return new   Date(str);   
 }

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值