javascript日期操作詳解(腳本之家整理)
它是一個內(nèi)置對象——而不是其它對象的屬性,允許用戶執(zhí)行各種使用日期和時間的過程。
方法:分為得到時間方法、設置時間方法和轉(zhuǎn)換時間方法
得到時間方法:
getDate() 查看Date對象并返回日期
getDay() 返回星期幾
getHours() 返回小時數(shù)
getMinutes() 返回分鐘數(shù)
getMonth() 返回月份值
getSeconds() 返回秒數(shù)
getTime() 返回完整的時間
getYear() 返回年份
js中的日期時間函數(shù)具體使用注意事項: 月份獲取的時候會-1. 例如當前是12月份,獲取的數(shù)字就是11
var date = new Date();
date.getYear(); //獲取年份(2位)
date.getFullYear(); //獲取完整的年份(4位,1970-)
date.getMonth(); //獲取月份(0-11,0代表1月,所以在顯示當前時間的時候需要date.getMonth() + 1)
date.getDate(); //獲取日(1-31)
date.getDay(); //獲取星期?(0-6,0代表星期天)
date.getTime(); //獲取時間(從1970.1.1開始的毫秒數(shù))
date.getHours(); //獲取小時數(shù)(0-23)
date.getMinutes(); //獲取分鐘數(shù)(0-59)
date.getSeconds(); //獲取秒數(shù)(0-59)
date.getMilliseconds(); //獲取毫秒數(shù)(0-999)
date.toLocaleString(); //獲取日期與時間
設置時間方法:
setDate() 改變Date對象的日期
setHours() 改變小時數(shù)
setMinutes() 改變分鐘數(shù)
setMonth() 改變月份
setSeconds() 改變秒數(shù)
setTime() 改變完整的時間
setYear() 改變年份
轉(zhuǎn)換時間方法:
toGMTString() 把Date對象的日期(一個數(shù)值)轉(zhuǎn)變成一個GMT時間字符串,返回類似下面的值:Weds,15 June l997 14:02:02 GMT(精確的格式依賴于計算機上所運行的操作系統(tǒng)而變)
toLocaleString() 把Date對象的日期(一個數(shù)值)轉(zhuǎn)變成一個字符串,使用所在計算機上配置使用的特定日期格式
UTC() 使用Date UTC(年、月、日、時、分、秒),以自從1970年1月1日00:00:00(其中時、分、秒是可選的)以來的毫秒數(shù)的形式返回日期
幾個需要注意的地方:
最重要的一點就是考慮到多瀏覽器的兼容性。需要按如下格式獲取日期比較好
var timestart = '2015-09-05'; var timeend = '2015-09-06'; var time1 = (timestart+' 00:00:00').toString(); var time2 = (timeend+' 23:59:59').toString(); timestart = new Date(Date.parse(time1.replace(/-/g,"/"))).getTime(); timeend = new Date(Date.parse(time2.replace(/-/g,"/"))).getTime();
腳本之家小編為大家提供一個剛寫的,在某一個時間段才顯示的廣告代碼
<script type="text/javascript">
var timestart = '2015-09-05';
var timeend = '2015-09-06';
var time1 = (timestart+' 16:00:00').toString();
var time2 = (timeend+' 16:00:00').toString();
timestart = new Date(Date.parse(time1.replace(/-/g,"/"))).getTime();
timeend = new Date(Date.parse(time2.replace(/-/g,"/"))).getTime();
var nowtime=new Date().getTime();
if (nowtime>timestart && nowtime<timeend)
{
document.write("廣告");
}
</script>
1、得到日期和年和設置日期和年時間,其中很怪的問題就是不能對月份進行設置(比較的怪):
<script language="javascript"> d = new Date(); alert(d.toLocaleString()); d.setDate(25); alert(d.toLocaleString()); d.setYear(2000); alert(d.toLocaleString()); </script>
2、獲得年的時候最好用getFullYear()方法來做
3、由于針對月份,JS是從0開始的,因此需要對月份進行操作時要加1
下面是幾個關(guān)于時間的經(jīng)典而且經(jīng)常會用到的例子,希望對大家會有提高的。謝謝繼續(xù)關(guān)注該帖子。。。
1、將2005-8-5轉(zhuǎn)換成2005-08-05格式
<script language="javascript"> var strDate = '2005-8-5'; window.alert(strDate.replace(/\b(\w)\b/g, '0$1')); </script>
2、得到間隔天數(shù)
<script type="text/javascript">
<!--
alert("間隔天數(shù)為:"+(new Date('2005/8/15')-new Date('2003/9/18'))/1000/60/60/24+"天")
//-->
</script>
3、得到間隔時間
<script>
var d1=new Date("2004/09/16 20:08:00");
var d2=new Date("2004/09/16 10:18:03");
var d3=d1-d2;
var h=Math.floor(d3/3600000);
var m=Math.floor((d3-h*3600000)/60000);
var s=(d3-h*3600000-m*60000)/1000;
alert("相差"+h+"小時"+m+"分"+s+"秒");
</script>
4、得到今天的日期
<script language="javascript"> d = new Date(); alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"); </script>
6、數(shù)字日期轉(zhuǎn)漢字
<html>
<head>
<title> New Document </title>
</head>
<body>
<script language=javascript>
Date.prototype.getRead = function()
{
var values = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九");
var returnValue, temp;
returnValue = this.getYear()+"年";
temp = (this.getMonth()+1)+"月"+this.getDate()+"日";
temp = temp.replace(/(\d)(\d)/g,"$1十$2").replace(/1十/g,"十").replace(/十0/g,"十");
returnValue += temp;
returnValue = returnValue.replace(/\d/g, function(sts){return values[parseInt(sts)]});
return returnValue;
}
var t=new Date();
document.write(t.getRead());
</script>
</body>
</html>
7、得到前N天或后N天的日期
方法一:
<script type="text/javascript">
function showdate(n)
{
var uom = new Date(new Date()-0+n*86400000);
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate();
return uom;
}
window.alert("今天是:"+showdate(0));
window.alert("昨天是:"+showdate(-1));
window.alert("明天是:"+showdate(1));
window.alert("10天前是:"+showdate(-10));
window.alert("5天后是:"+showdate(5));
</script>
方法二:
<script type="text/javascript">
function showdate(n)
{
var uom = new Date();
uom.setDate(uom.getDate()+n);
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate();
return uom;
}
window.alert("今天是:"+showdate(0));
window.alert("昨天是:"+showdate(-1));
window.alert("明天是:"+showdate(1));
window.alert("10天前是:"+showdate(-10));
window.alert("5天后是:"+showdate(5));
</script>
方法三(不好意思,這個用vsscript做的,僅作為學習使用,不建議網(wǎng)頁中使用,畢竟 IE only):
<script language="vbscript">
function showdate(n)
showdate=dateadd("d",date(),n)
end function
msgbox "今天是:"&showdate(0)
msgbox "昨天是:"&showdate(-1)
msgbox "明天是:"&showdate(1)
msgbox "十天前是:"&showdate(-10)
msgbox "五天后是:"&showdate(5)
</script>
方法四:
<script language="Javascript">
Date.prototype.getDays=function(){
var _newDate=new Date();
_newDate.setMonth(_newDate.getMonth()+1);
_newDate.setDate(0);
$_days=_newDate.getDate();
delete _newDate;
return $_days;
}
function showdate(n)
{
var uom = new Date();
uom.setDate(uom.getDate()+n);
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate()+"\n星期"+('天一二三四五六'.charAt(uom.getDay()))+"\n本月有"+ uom.getDays()+"天";
return uom;
}
window.alert("今天是:"+showdate(0));
window.alert("昨天是:"+showdate(-1));
window.alert("明天是:"+showdate(1));
window.alert("10天前是:"+showdate(-10));
window.alert("5天后是:"+showdate(5));
</script>
相關(guān)文章
Javascript日期對象的dateAdd與dateDiff方法
先貼出我寫的javascript代碼,后面有使用參考。2008-11-11
javascript實現(xiàn)的距離現(xiàn)在多長時間后的一個格式化的日期
距離現(xiàn)在多長時間后的一個格式化的日期,大家可以看看。2009-10-10
JavaScript自定義DateDiff函數(shù)(兼容所有瀏覽器)
JavaScript自定義DateDiff函數(shù)兼容所有瀏覽器,DateDiff用來返回兩個日期的時間間隔2012-03-03

