Date.setHours()設定日期中的小時

Javascript的Date.setHours()方法:

setHours()方法依據本地時間來設定日期物件中的小時。事實上setHours()方法也可以用來額外設定分,秒,以及毫秒數。若設定的參數超出預期的範圍,setHours()方法會自動計算超出去的值,以得到超出範圍後的時間。譬如說小時的範圍為0~23,若設定25,則會變成隔天的凌晨1點(設定成24的話則是隔天凌晨0點)。

setHours()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。

Date.setHours()的語法:

DateObj.setHours(hours[, minutes[, seconds[, ms]]])

hours:小時。

minutes:分鐘,有設定小時才能設定分鐘。

seconds:秒,有設定分鐘才能設定秒。

ms:有設定秒才能設定毫秒。

傳回值:從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。

若沒有設定minutes、seconds、ms,則會以 getMinutes、getSeconds、getMilliseconds,自動帶入。不過時區好像都是以小時在算的,所以UTC時間的分跟Local時間的分應該也沒啥差。

Date.setHours()的範例:

<script type="text/javascript">
var mydate = new Date("Jan 01, 1970 00:00:00");
document.writeln(mydate.toLocaleString());
document.writeln("<br/>");
var x=mydate.setHours(8);
document.writeln(mydate.toLocaleString());
document.writeln("<br/>");
document.writeln(x);
document.writeln("<br/>");
var x=mydate.setHours(25);
document.writeln(mydate.toLocaleString());
document.writeln("<br/>");
document.writeln(x);
document.writeln("<br/>");
var x=mydate.setHours(26,12,12);
document.writeln(mydate.toLocaleString());
document.writeln("<br/>");
document.writeln(x);
document.writeln("<br/>");
</script>

Date.setHours()的範例輸出:

1970年1月1日 上午12:00:00 
1970年1月1日 上午8:00:00 

1970年1月2日 上午1:00:00 
61200000 
1970年1月3日 上午2:12:12 
151932000

Date.setHours()的範例說明:

1.建立當地時間為1970年1月1日 0時0分0秒的日期物件。

2.利用setHours(8)將日期物件日期改為當地時間1970年1月1日 8時0分0秒。

3.輸出UTC時間與1970年1月1日0時0分之間的毫秒數,因為台灣是GMT+8所以8時剛好是UTC時間的0時,因此輸出為0。

4.利用setHours(25)將日期物件日期改為當地時間1970年1月2日 1時0分0秒。因為25超出時間範圍,所以自動往後一天算,變成1月2日1時。

5.輸出UTC時間與1970年1月1日0時0分之間的毫秒數,因為台灣是GMT+8,因此輸出為61200000。

6.後面省略..............

關於Date物件的其他屬性與方法,請參考:日期物件 Date

 
 

  按個讚!~支持本站!~

FB推薦載入中  

你可能會有興趣的文章