您的位置:首页 > 编程语言 > Java开发

Java中对时间、日期的处理

2007-12-09 21:42 567 查看
  在平时的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。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息