<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Servlet 處理日期 使用 Servlet 的最重要的優勢之一是,可以使用核心 Java 中的大多數可用的方法。本章將講解 Java 提供的 **java.util** 包中的 **Date** 類,這個類封裝了當前的日期和時間。 Date 類支持兩個構造函數。第一個構造函數初始化當前日期和時間的對象。 ``` Date( ) ``` 下面的構造函數接受一個參數,該參數等于 1970 年 1 月 1 日午夜以來經過的毫秒數。 ``` Date(long millisec) ``` 一旦您有一個可用的 Date 對象,您可以調用下列任意支持的方法來使用日期: | 方法 | 描述 | | --- | --- | | **boolean after(Date date)** | 如果調用的 Date 對象中包含的日期在 date 指定的日期之后,則返回 true,否則返回 false。 | | **boolean before(Date date)** | 如果調用的 Date 對象中包含的日期在 date 指定的日期之前,則返回 true,否則返回 false。 | | **Object clone( )** | 重復調用 Date 對象。 | | **int compareTo(Date date)** | 把調用對象的值與 date 的值進行比較。如果兩個值是相等的,則返回 0。如果調用對象在 date 之前,則返回一個負值。如果調用對象在 date 之后,則返回一個正值。 | | **int compareTo(Object obj)** | 如果 obj 是 Date 類,則操作等同于 compareTo(Date)。否則,它會拋出一個 ClassCastException。 | | **boolean equals(Object date)** | 如果調用的 Date 對象中包含的時間和日期與 date 指定的相同,則返回 true,否則返回 false。 | | **long getTime( )** | 返回 1970 年 1 月 1 日以來經過的毫秒數。 | | **int hashCode( )** | 為調用對象返回哈希代碼。 | | **void setTime(long time)** | 設置 time 指定的時間和日期,這表示從 1970 年 1 月 1 日午夜以來經過的時間(以毫秒為單位)。 | | **String toString( )** | 轉換調用的 Date 對象為一個字符串,并返回結果。 | ## 獲取當前的日期和時間 在 Java Servlet 中獲取當前的日期和時間是非常容易的。您可以使用一個簡單的 Date 對象的 _toString()_ 方法來輸出當前的日期和時間,如下所示: ``` // 導入必需的 java 庫 import java.io.*; import java.util.Date; import javax.servlet.*; import javax.servlet.http.*; // 擴展 HttpServlet 類 public class CurrentDate extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 設置響應內容類型 response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "顯示當前的日期和時間"; Date date = new Date(); String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n"; out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">" + date.toString() + "</h2>\n" + "</body></html>"); } } ``` 現在,讓我們來編譯上面的 Servlet,并在 web.xml 文件中創建適當的條目,然后通過訪問 http://localhost:8080/CurrentDate 來調用該 Servlet。這將會產生如下的結果: ``` <h1>顯示當前的日期和時間</h1> <h2>Mon Jun 21 21:46:49 GMT+04:00 2010</h2> ``` 嘗試刷新 URL http://localhost:8080/CurrentDate,每隔幾秒刷新一次您都會發現顯示時間的差異。 ## 日期比較 正如上面所提到的,您可以在 Servlet 中使用所有可用的 Java 方法。如果您需要比較兩個日期,以下是方法: * 您可以使用 getTime() 來獲取兩個對象自 1970 年 1 月 1 日午夜以來經過的時間(以毫秒為單位),然后對這兩個值進行比較。 * 您可以使用方法 before( )、after( ) 和 equals( )。由于一個月里 12 號在 18 號之前,例如,new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回 true。 * 您可以使用 compareTo( ) 方法,該方法由 Comparable 接口定義,由 Date 實現。 ## 使用 SimpleDateFormat 格式化日期 SimpleDateFormat 是一個以語言環境敏感的方式來格式化和解析日期的具體類。 SimpleDateFormat 允許您選擇任何用戶定義的日期時間格式化的模式。 讓我們修改上面的實例,如下所示: ``` // 導入必需的 java 庫 import java.io.*; import java.text.*; import java.util.Date; import javax.servlet.*; import javax.servlet.http.*; // 擴展 HttpServlet 類 public class CurrentDate extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 設置響應內容類型 response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "顯示當前的日期和時間"; Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n"; out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">" + ft.format(dNow) + "</h2>\n" + "</body></html>"); } } ``` 再次編譯上面的 Servlet,然后通過訪問 http://localhost:8080/CurrentDate 來調用該 Servlet。這將會產生如下的結果: ``` <h1>顯示當前的日期和時間</h1> <h2>Mon 2010.06.21 at 10:06:44 PM GMT+04:00</h2> ``` ## 簡單的日期格式的格式代碼 使用事件模式字符串來指定時間格式。在這種模式下,所有的 ASCII 字母被保留為模式字母,這些字母定義如下: | 字符 | 描述 | 實例 | | --- | --- | --- | | G | Era 指示器 | AD | | y | 四位數表示的年 | 2001 | | M | 一年中的月 | July 或 07 | | d | 一月中的第幾天 | 10 | | h | 帶有 A.M./P.M. 的小時(1~12) | 12 | | H | 一天中的第幾小時(0~23) | 22 | | m | 一小時中的第幾分 | 30 | | s | 一分中的第幾秒 | 55 | | S | 毫秒 | 234 | | E | 一周中的星期幾 | Tuesday | | D | 一年中的第幾天 | 360 | | F | 所在的周是這個月的第幾周 | 2 (second Wed. in July) | | w | 一年中的第幾周 | 40 | | W | 一月中的第幾周 | 1 | | a | A.M./P.M. 標記 | PM | | k | 一天中的第幾小時(1~24) | 24 | | K | 帶有 A.M./P.M. 的小時(0~11) | 10 | | z | 時區 | Eastern Standard Time | | ' | Escape for text | Delimiter | | " | 單引號 | ` | 如需查看可用的處理日期方法的完整列表,您可以參考標準的 Java 文檔。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看