`
wenson
  • 浏览: 1041071 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

js学习----datetime时间函数

 
阅读更多

JS操作日期function dateF(){ 
var now = new Date();//当前日期 
var year = now.getYear();//年份后两位 
var fullYear = now.getFullYear();//获取完整的年份(4位,1970-????) 
now.getMonth();      //获取当前月份(0-11,0代表1月) 
now.getDate();       //获取当前日(1-31) 
now.getDay();        //获取当前星期X(0-6,0代表星期天) 
now.getTime();       //获取当前时间(从1970.1.1开始的毫秒数) 
now.getHours();      //获取当前小时数(0-23) 
now.getMinutes();    //获取当前分钟数(0-59) 
now.getSeconds();    //获取当前秒数(0-59) 
now.getMilliseconds();   //获取当前毫秒数(0-999) 
now.toLocaleDateString();    //获取当前日期 
var mytime=now.toLocaleTimeString();    //获取当前时间 
now.toLocaleString( );       //获取日期与时间 



获得日期星期与时间: 
setInterval("document.getElementById('linkweb').innerText=new Date().toLocaleString()+'星期'+'日一二三四五六'.charAt(new Date().getDay());",1000); 
或是 
setInterval("document.getElementById('linkweb1').innerHTML=new Date().toLocaleString().replace(' ',' 星期'+'日一二三四五六'.charAt(new Date().getDay())+' ');",1000); 


增强JavaScript中的日期构造函数 


在编写程序时,需要使用javascript中的日期构造函数。经过使用发现,它不提供类似new Date("2004-01-01")这样的构造,但是对于var dd =new Date('2008/34/42')是可以通过的,显示的日期是Thu Nov 11 00:00:00 UTC+0800 2010。由此表明Date函数只支持斜杠分隔的日期。为了支持连字符的日期格式,下面是某个人书写的代码如下: 

<script language="javascript"> 
//功能:扩展日期函数,支持YYYY-MM-DD或YYYY-MMDD hh:mm:ss字符串格式 
//返回:如果正确,则返回javascript中支持UTC日期格式,如果错误,则返回false 
//作者:王洪生(Kevin) 
//日期:2004-12-15 
//举例: var myDate = Date_Ex("2004-12-21 23:01:00"); //返回正确的日期 
//       var myDate = Date_Ex("2004-12-21");     //返回正确的日期 
//       var myDate = Date_Ex("2004-23-12 12:60:29");//返回false,且提示日期或时间超出有效范围 
function Date_Ex(value1) 

var strDate = value1; 
if (strDate.length == 0) 
return false; 

//先判断是否为短日期格式:YYYY-MM-DD,如果是,将其后面加上00:00:00,转换为YYYY-MM-DD hh:mm:ss格式 
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})/;   //短日期格式的正则表达式 
var r = strDate.match(reg); 

if (r != null)   //说明strDate是短日期格式,改造成长日期格式 
   strDate = strDate + " 00:00:00"; 

reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})/; 
r = strDate.match(reg); 
if (r == null) 

alert("你输入的日期格式有误,正确格式为:2004-12-01 或 2004-12-01 12:23:45"); 
return false; 


var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
if (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()== r[7]) 

return d; 

else 

alert("你输入的日期或时间超出有效范围,请仔细检查!"); 
return false; 



日期比较函数 
function compareDate(DateOne,DateTwo) 



var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-")); 
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1); 
var OneYear = DateOne.substring(0,DateOne.indexOf ("-")); 

var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-")); 
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1); 
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-")); 

if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) > 
Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)) 

return true; 

else 

return false; 





日期计算 
function getDateDiff(date1,date2){ 
   
   var   re   =   /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;   
   var   dt1,dt2;   
   if   (re.test(date1))   
   {   
    dt1   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
   } 
    
   if   (re.test(date2))   
   {   
    dt2   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
   } 
    
   return Math.floor((dt2-dt1)/(1000 * 60 * 60 * 24)) 
   
}

 

 

 

转自:http://hi.baidu.com/baoxingjie/item/b9906d1aeac156416826bb34

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics