sharky的點滴積累

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

          創(chuàng)建一個日期對象

          使用系統(tǒng)的當(dāng)前日期和時間創(chuàng)建一個日期對象并返回一個長整數(shù)的簡單例子。 這個時間通常被稱為Java 虛擬機(JVM)主機環(huán)境的系統(tǒng)時間。

          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,上面的例子在系統(tǒng)輸出設(shè)備上顯示的結(jié)果是1123461832312。

          日期數(shù)據(jù)的定制格式

          使用類java.text.SimpleDateFormat和它的抽象基類 java.text.DateFormat 完成日期數(shù)據(jù)的格式定制,比方今天星期一-八月-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 的構(gòu)造函數(shù)傳遞格式字符串"EEE-MMMM-dd-yyyy",就能夠指明自己想要的格式。運行結(jié)果就是:星期一-八月-08-2005 了。傳遞"EE-MM-dd-yy"會顯示 星期一-08-08-05 。

          將文本數(shù)據(jù)解析成日期對象

          假設(shè)一個文本字符串包含了一個格式化了的日期對象,而需要解析這個字符串并從文本日期數(shù)據(jù)創(chuàng)建一個日期對象。下面的例子,將解析文本字符串"8-8-2005"并創(chuàng)建一個值為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());  
              }
            }
          }


          使用標(biāo)準(zhǔn)的日期格式化過程

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

          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的每次調(diào)用中都傳遞了兩個值。 第一個參數(shù)是日期風(fēng)格, 而第二個參數(shù)是時間風(fēng)格。 它們都是基本數(shù)據(jù)類型int(整型)。考慮到可讀性,這里使用了DateFormat 類提供的常量: SHORT, MEDIUM, LONG, 和 FULL。

          運行例子程序, 它將向標(biāo)準(zhǔn)輸出設(shè)備輸出下面的內(nèi)容:

          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

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




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

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

          第二個要求也不難,你是想對數(shù)據(jù)庫中的數(shù)據(jù)操作,我這里就用數(shù)組給你模擬一下吧。我定義了兩個int變量SHANGBAN,XIUXI,對應(yīng)你的兩個字段值1和0,然后我對8月的數(shù)據(jù)進行了操作(我是假設(shè)雙休日休息,對應(yīng)今年的這個月),根據(jù)輸入的年月日字符,用substing提取了各個字段,然后進行相應(yīng)查找就行了。你可以用各個字段到數(shù)據(jù)庫中相應(yīng)的那一天查詢對應(yīng)的值就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 = { //八月份數(shù)據(jù)
                   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,只用了八月的數(shù)組里的值來顯示大體的意思,你完全可以修改滿足你的需要。最后顯示結(jié)果為:

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

          好了,應(yīng)該很清楚了吧,加油,也感謝你的支持!

          I LOVE JAVA!

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

          評論

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 慈利县| 棋牌| 嘉定区| 古浪县| 工布江达县| 罗平县| 临颍县| 宝兴县| 望城县| 古浪县| 屏边| 定州市| 玉田县| 湖口县| 鄢陵县| 商丘市| 辽宁省| 仙游县| 景宁| 镇巴县| 卫辉市| 将乐县| 满城县| 湖南省| 友谊县| 新和县| 邛崃市| 陈巴尔虎旗| 平定县| 水富县| 鞍山市| 夏津县| 东乌| 长泰县| 桂东县| 屏山县| 基隆市| 磐安县| 博爱县| 崇仁县| 广昌县|