重写了java.util.Date类中一些过时的方法
目前在做个东西,需要从日期中获取年月日时分秒等数据,但是java.util.Date类中提供的getYear()、getMonth()、getDay()等方法在JDK1.1以后已经全部过时(不推荐使用),那怎么办呢?我先看看有没有办法偷懒,就去网上找找,结果没有找到解决的办法。于是就自己动手重写了这几个方法(注意:getTime()方法和原来的含义不大一样),放到blog上,以方便有需要的朋友节省时间。
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
/**
* 日期工具类
* File: DateUtil.java
* User: leizhimin
* Date: 2008-2-14 15:17:20
*/
public class DateUtil {
/**
* 获取日期中的年
* @param date 日期
* @return 年份
*/
public static String getYear(Date date){
DateFormat f_year = new SimpleDateFormat( "yyyy");
return f_year.format(date).toString();
}
/**
* 获取日期中的月
* @param date 日期
* @return 月份
*/
public static String getMonth(Date date){
DateFormat f_month= new SimpleDateFormat( "MM");
return f_month.format(date).toString();
}
/**
* 获取日期中天
* @param date 日期
* @return 天
*/
public static String getDay(Date date){
DateFormat f_day= new SimpleDateFormat( "dd");
return f_day.format(date).toString();
}
/**
* 获取日期中的星期
* @param date 日期
* @return 星期
*/
public static String getWeek(Date date){
DateFormat f_week= new SimpleDateFormat( "EEEEEEE");
return f_week.format(date).toString();
}
/**
* 获取日期中的时间
* @param date 日期
* @return 时间
*/
public static String getTime(Date date){
DateFormat f_time= new SimpleDateFormat( "HH时mm分 ss秒");
return f_time.format(date).toString();
}
public static void main(String args[]){
Date date= new Date();
System.out.println(date.toString());
System.out.println( "---------"+getYear(date));
System.out.println( "---------"+getMonth(date));
System.out.println( "---------"+getDay(date));
System.out.println( "---------"+getWeek(date));
System.out.println( "---------"+getTime(date));
}
}
import java.text.SimpleDateFormat;
import java.text.DateFormat;
/**
* 日期工具类
* File: DateUtil.java
* User: leizhimin
* Date: 2008-2-14 15:17:20
*/
public class DateUtil {
/**
* 获取日期中的年
* @param date 日期
* @return 年份
*/
public static String getYear(Date date){
DateFormat f_year = new SimpleDateFormat( "yyyy");
return f_year.format(date).toString();
}
/**
* 获取日期中的月
* @param date 日期
* @return 月份
*/
public static String getMonth(Date date){
DateFormat f_month= new SimpleDateFormat( "MM");
return f_month.format(date).toString();
}
/**
* 获取日期中天
* @param date 日期
* @return 天
*/
public static String getDay(Date date){
DateFormat f_day= new SimpleDateFormat( "dd");
return f_day.format(date).toString();
}
/**
* 获取日期中的星期
* @param date 日期
* @return 星期
*/
public static String getWeek(Date date){
DateFormat f_week= new SimpleDateFormat( "EEEEEEE");
return f_week.format(date).toString();
}
/**
* 获取日期中的时间
* @param date 日期
* @return 时间
*/
public static String getTime(Date date){
DateFormat f_time= new SimpleDateFormat( "HH时mm分 ss秒");
return f_time.format(date).toString();
}
public static void main(String args[]){
Date date= new Date();
System.out.println(date.toString());
System.out.println( "---------"+getYear(date));
System.out.println( "---------"+getMonth(date));
System.out.println( "---------"+getDay(date));
System.out.println( "---------"+getWeek(date));
System.out.println( "---------"+getTime(date));
}
}
运行结果:
Thu Feb 14 15:27:40 CST 2008
---------2008
---------02
---------14
---------星期四
---------15时27分 40秒
Process finished with exit code 0
---------2008
---------02
---------14
---------星期四
---------15时27分 40秒
Process finished with exit code 0
按照这个思路,还可以重新实现java.util.Date中更多的过时方法,这个暂时目前我还不需要,就留给各位博友自己写吧。