春風博客

          春天里,百花香...

          導航

          <2008年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          公告

          MAIL: junglesong@gmail.com
          MSN: junglesong_5@hotmail.com

          Locations of visitors to this page

          常用鏈接

          留言簿(11)

          隨筆分類(224)

          隨筆檔案(126)

          個人軟件下載

          我的其它博客

          我的鄰居們

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          動態生成日歷

          package com.sitinspring.datetime;

          import java.util.ArrayList;
          import java.util.List;


          public class MonthlyCalendar{
              
          private static final String tab = "\t";

              
          // 日歷的年月
              private String yearMonth;
              
              
          // 一個年月的日期
              private List<String> days;
              
              
          public MonthlyCalendar(String yearMonth){
                  
          this.yearMonth=yearMonth;
                  fillDays();
              }

              
              
          private void fillDays(){
                  days
          =new ArrayList<String>();
                  
                  
          // 每個月第一日前的空白
                  int spacesBeforeFirstDay=DateTimeUtil.getWeekOfFirstDay(yearMonth);
                  
          for(int i=0;i<spacesBeforeFirstDay;i++){
                      days.add(tab);
                  }

                  
                  
          // 每個月的日期
                  int dayCountInaMonth=DateTimeUtil.getDaysInAMonth(yearMonth);
                  
          for(int i=0;i<dayCountInaMonth;i++){
                      days.add((i
          +1)+tab);
                  }
                  
              }

              
              
          public String getText(){
                  StringBuffer sb
          =new StringBuffer();
                  
                  sb.append(
          "==="+yearMonth+"===\r\n");
                  sb.append(
          "--------------------------------------------------\r\n");
                  
          for(int i=0;i<days.size();i++){
                      sb.append(days.get(i));
                      
          if((i+1% 7==0){
                          sb.append(
          "\r\n");
                      }

                  }

                  sb.append(
          "\r\n--------------------------------------------------\r\n");
                  
                  
          return sb.toString();
              }

              
              
          public static void main(String[] args){
                  System.out.println(
          new MonthlyCalendar("2008.8").getText());
              }

          }


          package com.sitinspring.datetime;

          import java.io.BufferedWriter;
          import java.io.FileWriter;
          import java.io.IOException;

          public class CalendarMaker {
              
          public CalendarMaker(int year) {
                  
          this(String.valueOf(year));
              }


              
          public CalendarMaker(String year) {
                  
          // 生成日歷文件
                  makeFile(year);
              }


              
          private void makeFile(String fileName) {
                  
          try {
                      BufferedWriter out 
          = new BufferedWriter(new FileWriter(fileName
                              
          + ".txt"));

                      
          for (int i = 1; i < 13; i++{
                          out.write(
          new MonthlyCalendar(fileName + "." + i).getText()); // 將字符串“內容”寫入文件
                      }


                      out.close();
                  }
           catch (IOException e) {
                      e.printStackTrace();
                  }

              }


              
          public static void main(String[] args) {
                  
          new CalendarMaker(2008);
              }

          }


          package com.sitinspring.datetime;

          import java.text.Format;
          import java.text.SimpleDateFormat;
          import java.util.Calendar;
          import java.util.Date;
          import java.util.GregorianCalendar;

          /**
           * 日期時間處理實用類
           * 
           * 
          @author sitinspring(junglesong@gmail.com)
           * 
          @since 2008-7-18 上午10:30:15
           * @vsersion 1.00 創建 sitinspring 2008-7-18 上午10:30:15
           
          */

          public final class DateTimeUtil {
              
          private DateTimeUtil() {

              }


              
          /**
               * 以格式format返回表示日期時間的字符串
               * 
               * 
          @param format
               * 
          @return
               
          */

              
          public static String getDateTimeStr(String format) {
                  Date date 
          = new Date();
                  Format formatter 
          = new SimpleDateFormat(format);
                  
          return formatter.format(date);
              }


              
          /**
               * 取得當前日期時間
               * 
               * 
          @return
               
          */

              
          public static String getCurrDateTime() {
                  
          return getDateTimeStr("yyyy.MM.dd HH:mm:ss");
              }


              
          /**
               * 取得當前日期,不足兩位前補零
               * 
               * 
          @return
               
          */

              
          public static String getCurrDate() {
                  
          return getDateTimeStr("yyyy.MM.dd");
              }


              
          /**
               * 取得當前日期
               * 
               * 
          @return
               
          */

              
          public static String getSimpleCurrDate() {
                  
          return getDateTimeStr("yyyy.M.d");
              }


              
          /**
               * 取得當前時間
               * 
               * 
          @return
               
          */

              
          public static String getCurrTime() {
                  
          return getDateTimeStr("HH:mm:ss");
              }


              
          /**
               * 取得當前年月
               * 
               * 
          @return
               
          */

              
          public static String getCurrYearMonth() {
                  
          return getDateTimeStr("yyyy.MM");
              }


              
          /**
               * 從文本形式日期取得Date日期時間
               * 
               * 
          @param strMonth
               * 
          @return
               
          */

              
          private static Date getDate(String strMonth) {
                  SimpleDateFormat myFormatter 
          = new SimpleDateFormat("yyyy.MM.dd");

                  
          try {
                      java.util.Date date 
          = myFormatter.parse(strMonth);
                      
          return date;
                  }
           catch (Exception ex) {
                      
          return null;
                  }

              }


              
          /**
               * 得到兩個文本日期之間的天數
               * 
               * 
          @param startDate
               * 
          @param endDate
               * 
          @return
               
          */

              
          public static long getDaysBetween(String startDate, String endDate) {
                  Date dStart 
          = getDate(startDate);
                  Date dEnd 
          = getDate(endDate);

                  
          return (dEnd.getTime() - dStart.getTime()) / (24 * 60 * 60 * 1000);
              }


              
          /**
               * 取某月的天數,strMonth的格式是"yyyy.MM"
               * 
          @param strMonth
               * 
          @return
               
          */

              
          public static int getDaysInAMonth(String strMonth) {
                  String[] arr 
          = strMonth.split("[.]");

                  
          // Create a calendar object of the desired month
                  Calendar cal = new GregorianCalendar(Integer.parseInt(arr[0]), Integer
                          .parseInt(arr[
          1]) - 11);

                  
          // Get the number of days in that month
                  int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

                  
          return days;
              }


              
          /**
               * 取某月第一天是周幾,strMonth的格式是"yyyy.MM"
               * 
          @param strMonth
               * 
          @return
               
          */

              
          public static int getWeekOfFirstDay(String strMonth) {
                  String[] arr 
          = strMonth.split("[.]");

                  Calendar xmas 
          = new GregorianCalendar(Integer.parseInt(arr[0]), Integer
                          .parseInt(arr[
          1]) - 11);
                  
          int dayOfWeek = xmas.get(Calendar.DAY_OF_WEEK) - 1;
                  
          return dayOfWeek;
              }


              
          public static void main(String[] args) {
                  System.out.println(
          "當前日期時間為:" + getCurrDateTime());
                  System.out.println(
          "當前日期為:" + getCurrDate());
                  System.out.println(
          "當前日期為:" + getSimpleCurrDate());
                  System.out.println(
          "當前時間為:" + getCurrTime());
                  System.out.println(
          "2008.07.05與2008.07.18之間相隔:"
                          
          + getDaysBetween("2008.07.05""2008.07.18"+ "");
                  System.out.println(
          "當前年月為:" + getCurrYearMonth());
                  System.out.println(
          "本月第一天為周" + getWeekOfFirstDay(getCurrYearMonth()));
                  System.out.println(
          "本月有" + getDaysInAMonth(getCurrYearMonth()) + "");
              }

          }


          posted on 2008-07-19 22:14 sitinspring 閱讀(1087) 評論(0)  編輯  收藏 所屬分類: Java API

          sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.
          主站蜘蛛池模板: 巴东县| 江安县| 洛阳市| 敖汉旗| 平乡县| 南京市| 错那县| 万州区| 句容市| 昌平区| 沭阳县| 简阳市| 秦安县| 枣强县| 漠河县| 大英县| 郁南县| 泾川县| 广南县| 涟源市| 钟山县| 内江市| 兖州市| 苍梧县| 梁山县| 开原市| 三江| 留坝县| 桃江县| 宁津县| 临夏市| 潼南县| 都昌县| 区。| 鄢陵县| 北辰区| 沈丘县| 安宁市| 南汇区| 平潭县| 苍山县|