Calender类
java.util.Calendar是一个抽象的基类,创建对象需要使用静态方法Calendar.getInstance()完成。通过Calendar对象可以获得详细的日历信息,例如年、月、日、小时、分和秒,Calendar的子类可以实现特定的日历系统。
当前时间
Calendar c = Calendar.getInstance();
指定时间
Calendar c1 = Calendar.getInstance();
c1.set(2009, 3 - 1, 9);
从Calender中获得信息
public int get(int field);
其中参数field代表需要获得的字段的值,字段说明和上面的set()方法保持一致。需要说明的是,获得的月份为实际的月份值减1,获得的星期的值和Date类不一样。在Calendar类中,周日是1,周一是2,周二是3,依次类推
其他常用方法
(1) add()方法
public abstract void add(int field,int amount)
(2) after()方法
public boolean after(Object when)
(3) getTime()方法
public final Date getTime()
SimpleDateFormat类的使用
SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式,获取SimpleDateFormat的实例如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
上面代码确立了转换的格式,yyyy是完整的西元年,MM是月份,dd是日期,HH:mm:ss分别是小时、分和秒。至于为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制
1.字符串转日期:
字符串"2002-10-8 15:30:22",如果要把它转成日期,可以用以下代码:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=sdf.parse("2002-10-8 15:30:22");
2.日期转字符串:
假如把今天的日期转成字符串可用
String datestr=sdf.format(new Date());
这个字符串的内容便类似2002-10-08 14:55:38
透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2002年10月08日,可以这么写:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
String dateStr=sdf.format(new Date());