Java中對時間、日期的處理

  在平時的coding工作中,我們經常會遇見對時間、日期的處理。現對我使用的處理方式做一個記錄。
      1、對calender與GregorianCalendar的應用
      2、時間是用距離一個固定時間點的毫秒數(可正可負)表示的,這個點就是紀元(epoch)
      3、 Date類的紀元是UTC時間1997年1月1日00:00:00.UTC是Coordinated Universal Time的縮寫
      4、 Date類表示時間點,GregorianCalendar表示日曆
      5、GregorianCalendar遵循了世界上大多數地區採用的Gregorian陽曆表示法
      6、 在GregorianCalendar中月份從0開始計數,因此11月表示12月,一般使用常量來表示

 下面是測試用到的兩個事例:
package ObjectAndClass;
import java.util.*;

public class CalendarTest {

    public static void main(String[] args) {
       
   
       
        // construct d as current date
        GregorianCalendar d = new GregorianCalendar();
       
        int today = d.get(Calendar.DAY_OF_MONTH);
        int month = d.get(Calendar.MONTH);
        int hour = d.get(Calendar.HOUR_OF_DAY);
       
       
        //set d to start date of month
        d.set(Calendar.DAY_OF_MONTH, 1);
       
        int weekday = d.get(Calendar.DAY_OF_WEEK);
       
        //print heading
        System.out.println("Sun Mon Tue Wed Thu Fri Sat");
       
        //indent first line of calender
        for(int i=Calendar.SUNDAY;i<weekday;i++)
            System.out.print("    ");
       
        do
        {
            //print day
            int day = d.get(Calendar.DAY_OF_MONTH);
            System.out.printf("%3d", day);
           
            //mark current day with *
            if(day == today)
                System.out.print("*");
            else
                System.out.print(" ");
           
            //start a new line after every Saturday
            if(weekday == Calendar.SATURDAY)
                System.out.println();
           
            //advance d to the next day
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        while (d.get(Calendar.MONTH) == month);
        //the loop exits when d is day 1 of the next month
       
        //print final end of line if necessary
        if(weekday != Calendar.SUNDAY)
            System.out.println();
       
    }

}
來源於核心技術基礎卷

package ObjectAndClass;
import java.util.*;
import java.text.*;

public class DateTest {

    /**
     * @param args
     * 對date類型進行測試
     */
    public static void main(String[] args) {
        Date now = new Date();
       
        //date類型的tostring 重載了
        System.out.println(now.toString());
        SimpleDateFormat  sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String test = sdf.format(now).toString();
        System.out.println(test);
       
       String myString = DateFormat.getDateInstance().format(now);
       System.out.println(test);


    }

}

對GregorianCalendar、Date的用法請查閱jdk。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章