处理日期时间的类: java.util.Date类,java.util.Calendar类。两个类中都可以进行时间的运算。
格式化输出时间:java.text.DateFormat类,及其子类 java.text.SimpleDateFormat类。而其中后其更灵活。
时区:TimeZone类。
注:
DateFormat、SimpleDateFormat的输出,都是只支持Date类型而不支持Calendar类型的。
需要注意到的问题:
1、Calendar是一个抽象类,不能通过构造器来创建Calendar对象。但可以通过其提供的静态方法获取,如GetInstance()。
2、时区。在DateFormat中有关于时区的设置 df[0] = DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA)。
package date;
//格式设置时候需要用到的一些filed。
import static java.text.DateFormat.*;
import static java.util.Calendar.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class MyDateTest {
public static void main(String[] args){
//初始化当前当地时间
Calendar c = Calendar.getInstance();
Date d = c.getTime();
//格式的设置,查看文档 java.text.simpledateformat
String pattern = "Gyyyy年中第d天";
SimpleDateFormat sdf1 = new SimpleDateFormat(pattern);
System.out.println("当前时间:"+c.getTime());
//
DateFormat[] df = new DateFormat[2];
df[0] = DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA);
df[1] = DateFormat.getTimeInstance(MEDIUM,Locale.CHINA);
System.out.println("日期输出格式:"+ df[0].format(d) );
System.out.println( "时间输出格式:"+df[1].format(d) );
System.out.println("simple格式设置 1 :"+sdf1.format(d) );
//add 函数的调用,查看文档 java.util.calendar
Calendar c2 = (Calendar) c.clone();
c.add(Calendar.DATE, -2);
//时间的比较,Date/Calendar都有运行比较运算的方法。
System.out.println("日期的比较:"+d.before(c.getTime()));
System.out.println("日期的比较:"+c.before(c2));
d=c.getTime();
System.out.println(d);
d=c2.getTime();
System.out.println(d);
}
}
|