JavaScript: 日期與時間


約瑟 發表



在這單元, 我們要討論七個新的指令。 他們就是: getDay(), getDate(), getMonth() , getFullYear(), getHour(), getMinute(), 和 getSecond()。 他們這種指令已經存在 且可以被放在網頁裡。 可是, 問題在於這些只是指令而已。 他們需要被一個文件物件表現出來。 我們來看看以下例子:



STEP1:【進入網頁時間程式】
  1. 看以下程式碼:
    <SCRIPT LANGUAGE="JavaScript">

    //程式會顯示你進入這一頁的時間
    RightNow = new Date();

    document.write("今天的時間是" + (RightNow.getMonth()+1)+ "-" + RightNow.getDate() + "-" +
    RightNow.getFullYear() + ".你進入這一頁的時間是: " + RightNow.getHours() + ":" +
    RightNow.getMinutes() + " and " + RightNow.getSeconds() + " seconds")
    </SCRIPT>

    請注意, 在上面document.write()裡面的指令一定要寫成一行。如果斷行的話, 程式將無法正常執行。(我之所以斷行是因為文字太長了. 縮短比較容易看懂..)

  2. 執行結果:



STEP2:【程式說明】
  1. 什麼是 "//" 這個東西?

    這兩個斜線在JavaScript扮演蠻重要的角色. 跟在//後面的 文字並不會被執行。 //在裡面只是用來作註解用的。 當我們在寫 一個很長的程式的時候, 這可以幫助我們輕易的找到錯誤或要修改的地方。

  2. 日期和時間

    讓我們來看以上這個程式, 我們可以看到我們用一個語法把 所有的時間指令呼叫出來. 每個指令我們都是用一個樣式, "get'Something什麼什麼的'()" 請大家注意字母的大小寫. 字母 "g" 是比較不重要的部分, 重要 的部分像是, "Month", 就要大寫。

  3. 首先, 請記住每一個項目都是數字顯示, 甚至連 getDay() 也適用數字顯示.(不適用 Sunday(星期天)顯示)
    從上面我們可以注意到, "getSomething()" 是一個被 "document" 寫入(write) 的指令。 "getMonth()" 實際上就是一個 Date物件的指令。 再次看清楚這個程式, "Date" 是被設在以下的那個語法裡面:

    RightNow = new Date();

  4. 在以上的語法中, RightNow 只是我設定的一個物件。 我們不一定要把他叫做 RightNow, 我們可以叫他Joseph, Nick, 或 你認為有更好的英文字都可以運作。
  5. 你可能會有一個想法, 我就有過。 為什麼不能把 RightNow = new Date(); 改成 new Date() = RightNow? 沒辦法改, 這就是JavaScript世界裡的遊戲規則之一。
  6. 在以上程式碼中, RightNow 是一個用來代表 newDate() 的物件; new Date()就是告訴電腦取得每次下載這個網頁時的最新日期時間資料.如果沒有這一行,這些資料仍可被寫入網頁,但就不會是隨著訪客的進 入而更新。
    順便請各位注意在 new Date(); 之漏的分號. 分號的公用適用來告訴電腦這段 語法已經結束了. 要是沒加入分號, 電腦就會把下一個分號前的東西跟這個原本該家分號前的東西搞在一起。 程式就出現錯誤囉!
  7. 我就用以下這段 outline 來簡單解釋這個語法。
  8. 我們一定要在最前面加入 <SCRIPT LANGUAGE="javascript">第一章有提過。
  9. 然後把我們的註解加在 // 後面幫助我們解讀程式。
  10. 我們要先做一個物件用來呼叫那些時間指令. 請注意後面要加分號。
  11. 現在我們就可一加入 document.write. 在這個document.write 裡面, 要注意:
  12. 要被顯示在網頁中的內容一定要在雙引號(" ")裡面. (如果 要放入HTML語法的話, 要用單引號 (' '))
  13. 再把內容與指令放在一起的時候, 一定要加 "+" 加號在他們之間。
  14. 物件和指令一定要被一個句點分開. 例如: RightNow.getMonth()。
  15. 因為 RightNow.getMonth() 不是要在網頁上顯示的內容, 他是一的呼叫月份的指令, 所以不用加引號。
  16. 大家有沒有注意到有什麼東西被加在 getMonth 後面? (RightNow.getMonth()+1)。 要加這些東西是因為要是沒有加, 月份就會從 0 開始, 我們要先加一來糾正。
  17. 在最後用 </SCRIPT> 來結束
  18. 以下就是照上面說明寫的程式:


    <SCRIPT LANGUAGE="javascript">
    //將現在的月份顯示在網頁上

    RightNow = new Date();
    document.write("這個月是 " + (RightNow.getMonth()+1))

    </SCRIPT>

  19. 加大空格

    這個你可能會想知道。 不管你在 + 加號後面放多少個空格, 都不會影響到顯示的結果。 要加空格, 要加在雙引號後面。 例如: "今天是 "。

  20. 作一個完整的程式:

    我現在分出十一個完成此程式的步驟, 請大家跟著以下的程式碼來運作:

    document.write("今天日期是 " + (RightNow.getMonth()+1)+
    "-" + RightNow.getDate() + "-" + RightNow.getFullYear() + ".
    You entered this Web Page at exactly: " + RightNow.getHours() +
    ":" + RightNow.getMinutes() + " and " + RightNow.getSeconds() +
    " seconds")
    1. 我以 " 今天日期是" 來當開頭。
    2. 緊跟著加號。
    3. 加入(RightNow.getMonth()+1)。 注意不要用引號, 因為我們不要讓他顯示出來。
    4. 緊跟著加號。
    5. 接下來用兩個雙引烙和一個橫槓(-)來分開下一個數字。
    6. 緊跟著加號。
    7. 現在加入 RighNow.getDate() 因為我們要在這裡顯示星期幾。
    8. 緊跟著加號。
    9. 在用兩個雙引烙和一個橫槓(-)來分開下一個數字。
    10. 緊跟著加號。
    11. 加入 RightNow.getFullYear()來顯示年份。

    只要跟著以上這個步驟, 你就有辦法寫出一個完整的程式了! 祝大家成功!

    最後更新日期: 7/9/2001 10:37:35 AM