sharky的點滴積累

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            56 隨筆 :: 104 文章 :: 10 評論 :: 0 Trackbacks

          創建一個日期對象

          使用系統的當前日期和時間創建一個日期對象并返回一個長整數的簡單例子。 這個時間通常被稱為Java 虛擬機(JVM)主機環境的系統時間。

          import java.util.Date; 
          public class DateExample1 
          {
             public static void main(String[] args)
             {
              // Get the system date/time
              Date date = new Date();
              System.out.println(date.getTime());
              }
          }

          今天是星期一,2005年8月8日,上午8:43,上面的例子在系統輸出設備上顯示的結果是1123461832312。

          日期數據的定制格式

          使用類java.text.SimpleDateFormat和它的抽象基類 java.text.DateFormat 完成日期數據的格式定制,比方今天星期一-八月-08-2005。下面的例子展示了如何完成這個工作:

          import java.text.SimpleDateFormat; 
          import java.util.Date;
          public class DateExample2 
          {
            public static void main(String[] args) 
           {
            SimpleDateFormat bartDateFormat = new SimpleDateFormat
             ("EEEE-MMMM-dd-yyyy");
            Date date = new Date();
            System.out.println(bartDateFormat.format(date));
            }
          }


          只要通過向SimpleDateFormat 的構造函數傳遞格式字符串"EEE-MMMM-dd-yyyy",就能夠指明自己想要的格式。運行結果就是:星期一-八月-08-2005 了。傳遞"EE-MM-dd-yy"會顯示 星期一-08-08-05 。

          將文本數據解析成日期對象

          假設一個文本字符串包含了一個格式化了的日期對象,而需要解析這個字符串并從文本日期數據創建一個日期對象。下面的例子,將解析文本字符串"8-8-2005"并創建一個值為1123430400000 的日期對象。

          例子程序:

          import java.text.SimpleDateFormat; 
          import java.util.Date;
          public class DateExample3
          {
            public static void main(String[] args)
           {
              // Create a date formatter that can parse dates of the form MM-dd-yyyy.
              SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy");
             
              // Create a string containing a text date to be parsed.
              String dateStringToParse = "8-8-2005";
              try {
                // Parse the text version of the date.
                //We have to perform the parse method in a
                //try-catch construct in case dateStringToParse
                //does not contain a date in the format we are expecting.
                Date date = bartDateFormat.parse(dateStringToParse);
                // Now send the parsed date as a long value
                // to the system output.
                System.out.println(date.getTime());
              }
              catch (Exception ex){
                System.out.println(ex.getMessage());  
              }
            }
          }


          使用標準的日期格式化過程

          可以生成和解析定制的日期格式后,現在來看一看如何使用內建的格式化過程。使用方法DateFormat.getDateTimeInstance()可以得到用幾種不同的方法獲得標準的日期格式化過程。在下面的例子中,我們獲取了四個內建的日期格式化過程。它們包括一個短的,中等的,長的,和完整的日期格式。

          import java.text.DateFormat; 
          import java.util.Date;

          public class DateExample4
          {
            public static void main(String[] args)
           {
             Date date = new Date();
             DateFormat shortDateFormat = DateFormat.getDateTimeInstance
                        (DateFormat.SHORT,DateFormat.SHORT);
             DateFormat mediumDateFormat = DateFormat.getDateTimeInstance
                        (DateFormat.MEDIUM,DateFormat.MEDIUM);
             DateFormat longDateFormat = DateFormat.getDateTimeInstance
                        (DateFormat.LONG,DateFormat.LONG);
             DateFormat fullDateFormat = DateFormat.getDateTimeInstance
                        DateFormat.FULL,DateFormat.FULL);

              System.out.println(shortDateFormat.format(date)); 
              System.out.println(mediumDateFormat.format(date));
              System.out.println(longDateFormat.format(date));
              System.out.println(fullDateFormat.format(date));
            }
          }


          注意我們在對 getDateTimeInstance的每次調用中都傳遞了兩個值。 第一個參數是日期風格, 而第二個參數是時間風格。 它們都是基本數據類型int(整型)。考慮到可讀性,這里使用了DateFormat 類提供的常量: SHORT, MEDIUM, LONG, 和 FULL。

          運行例子程序, 它將向標準輸出設備輸出下面的內容:

          05-8-8 上午9:17 
          2005-8-8 9:17:42
          2005年8月8日 上午09時17分42秒
          2005年8月8日 09時17分42秒 GMT+08:00

          (完成 程序測試結果基于JDK1.2.2)




          閱讀全文(76) | 回復(2) | 引用(0)
          Diary回復:java Date 顯示格式
          [ chenglong發表評論于2005-8-10 2:51:06 ]

          第一個要求很簡單的,就是先定制一個年月日字符型格式的日期,然后將它解析成一個日期對象;再設置一個只顯示星期幾的日期的格式,將上面的日期對象格式輸出就行了。

          第二個要求也不難,你是想對數據庫中的數據操作,我這里就用數組給你模擬一下吧。我定義了兩個int變量SHANGBAN,XIUXI,對應你的兩個字段值1和0,然后我對8月的數據進行了操作(我是假設雙休日休息,對應今年的這個月),根據輸入的年月日字符,用substing提取了各個字段,然后進行相應查找就行了。你可以用各個字段到數據庫中相應的那一天查詢對應的值就ok了。

          下面是我的程序:

          import java.text.SimpleDateFormat;
          import java.util.Date;
          import java.lang.String;
          import java.lang.Integer;
          public class DateExample{  
            public static void main(String[] args){
             int SHANGBAN = 1; //上班
             int XIUXI = 0;  //休息
             int[] AugDay = { //八月份數據
                   SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
                   SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
                   SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
                   SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
                   SHANGBAN,SHANGBAN,SHANGBAN
              };
              // Create a date formatter that can parse dates of the form yyyy-MM-dd.    
              SimpleDateFormat bartDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");        
              // Create a string containing a text date to be parsed.    
              String dateStringToParse = "2005-8-10";   //可以改成接受輸入 
              try {
               Date date = bartDateFormat1.parse(dateStringToParse);
               SimpleDateFormat bartDateFormat2 = new SimpleDateFormat("EEEE");
               System.out.println(dateStringToParse + " " +bartDateFormat2.format(date));
               
               int year = Integer.parseInt(dateStringToParse.substring(0,4));
                int month = Integer.parseInt(dateStringToParse.substring(5,6));
                int day = Integer.parseInt(dateStringToParse.substring(7,9));
              
                if(month == 8){
                 //假如輸入的是8月份的話(這里只是演示,指的是今年8月,你可以按你的需要修改)
                 if(AugDay[day-1] == SHANGBAN){
                  System.out.println("今天上班");
                 }
                 else{
                  System.out.println("今天休息");
                 }
                }
             }
             catch (Exception ex){      
              System.out.println(ex.getMessage()); 
              }
            }
          }

          輸入時間是2005-8-10,只用了八月的數組里的值來顯示大體的意思,你完全可以修改滿足你的需要。最后顯示結果為:

          2005-8-10 星期三
          今天上班

          好了,應該很清楚了吧,加油,也感謝你的支持!

          I LOVE JAVA!

          posted on 2005-09-15 11:38 sharky的點滴積累 閱讀(21798) 評論(1)  編輯  收藏

          評論

          # re: java Date 顯示格式[未登錄] 2012-05-07 20:18 aa
          aaaa  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 吉林市| 南华县| 田东县| 准格尔旗| 广宗县| 新密市| 永德县| 玉龙| 鹤岗市| 孟州市| 井研县| 咸宁市| 永定县| 湖口县| 霍林郭勒市| 西畴县| 湘乡市| 和林格尔县| 涞源县| 平武县| 萝北县| 盈江县| 商城县| 岳普湖县| 施甸县| 阿拉善盟| 攀枝花市| 文水县| 麻城市| 屏山县| 甘南县| 乌鲁木齐县| 武汉市| 城口县| 永善县| 吉木萨尔县| 乌兰察布市| 巢湖市| 临颍县| 胶州市| 平阳县|