日期及其格式化1、java.util.Date类用于表示日期和时间,要获取当前时间,可以使用下面的代码: Date d = new Date(); System.out.println(d.toString());下面是输出的结果:Mon Feb 06 15:45:47 CST 2006如果想按照特定的格式进行输出,可以按照下面的方法完成,但是现在的版本中建议不要使用。 int year = d.getYear()+1900; int month = d.getMonth()+1; int date = d.getDate(); int hour = d.getHours(); int minute = d.getMinutes(); int second = d.getSeconds(); System.out.println(year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second);执行的结果如下:2006-2-6 15:52:31如果想根据年月日来确定一个Date对象可以先创建一个对象,然后使用setter方法来完成,例如:setYear(int)、setMonth(int)等,当然这些方法也是建议不使用。如果想对时间进行比较灵活的处理可以使用DateFormat和SimpleDateFormat。如果想按照下面的格式进行输出:2006年02月06日 16点05分37秒可以使用下面的代码: DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh点mm分ss秒"); String str = df.format(d); System.out.println(str);格式中yyyy表示年份,可以写2位,MM表示月份,可以写1位,dd表示日,可以写1位,hh表示小时,mm表示分钟(注意大小写),ss表示秒。注意:DateFormat和SimpleDateFormat在java.text包中,使用的时候需要引入。要想把一个日期字符串转换成一个时间,例如把“2006-2-6”转换成日期,可以使用下面的代码: String dates = "2006-2-6"; //定义日期字符串 DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd"); //定义日期字符串的格式 Date d2; //声明日期对象 try { d2 = df2.parse(dates); //把日期字符串转换成日期 System.out.println(df2.format(d2)); } catch (ParseException ex) { }需要注意的是在转换的时候需要进行异常处理,因为在转换的时候可能会产生异常。2、java.util.Calendar类Calendar中提供了很多对时间中年、月、日、时、分、秒以及星期进行操作的方法,如果想对时间进行比较详细的操作可以使用Calendar。该类也是抽象类,使用的时候需要使用getInstance获取实例然后再操作,并且该方法可以获取与特定时区相对应的实例,如果不指定参数,获取的就是默认的时间。 Calendar c1 = Calendar.getInstance();要想获取时间中具体的年月日时分秒或者其它信息,通过get方法完成,方法的参数用来指定获取什么信息,例如要获取年月日可以通过下面的代码完成。 year = c1.get(Calendar.YEAR); month = c1.get(Calendar.MONTH)+1; date = c1.get(Calendar.DATE);要对时间中的某一项修改使用set方法,方法的定义如下:public void set(int field,int value)第一个参数指定修改的项,第二个参数表示修改后的值,例如把年修改成2003年: c1.set(Calendar.YEAR,2003);如果要同时修改年月日,可以使用下面的方法:public void set(int year,int month,int date)参数分别表示时分秒,下面是同时修改年月日的例子: c1.set(2003,5,5);下面是同时修改年月日时分秒的例子 c1.set(2003,5,5,10,30); //修改年月日时分 c1.set(2003,5,5,10,30,20); //修改年月日时分秒Date对象和Calendar对象之间可以相同转换,下面是相应的例子: d2 = c1.getTime(); //把Calendar对象转换成Date对象 c1.setTime(d2); //把日期类型转换成Calendar类型
本文来自博客,转载请标明出处:http://blog.csdn.net/JavaEETeacher/archive/2007/03/19/1533756.aspx