MyDate更加强大的时间函数

/**
 * @author rencongwhu
 * @date 2014-4-16
 * @email rencongwhu@foxmail
 */
package edu.whu.cs;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;




/**
 * @author rencongwhu
 * @date 2014-4-16
 * @email rencongwhu@foxmail
 * @org cs.whu.edu
 */
public class MyDate  extends Date{



private static String DefaultSimpleDateFormat = "yyyy-MM-dd HH:mm:ss";
private static String DefaultYMDSimpleDateFormat = "yyyy-MM-dd";
private static String ParseExceptionError = "解析失败!";


public static String YYYYMMDD_HHMMSS = DefaultSimpleDateFormat;
public static String YYYYMMDD = "yyyy-MM-dd";
public static String CHINESE_YYYYMMDD_HHMMSS = "yyyy年MM月dd日HH时mm分ss秒";
public static String CHINESE_YYYYMMDD = "yyyy年MM月dd日";
public static String YYYYMMDD_HHMMSS_SPLIT = "yyyy/MM/dd HH:mm:ss";
public static String YYYYMMDD_SPLIT = "yyyy/MM/dd";
public static String YYYYMMDD_HHMMSS_DOT = "yyyy.MM.dd HH:mm:ss";
public static String YYYYMMDD_DOT = "yyyy.MM.dd";


/**

*/
private static final long serialVersionUID = 378061917043850387L;


public MyDate(){
super();
}
public MyDate(long date) {
   super(date);
}
@SuppressWarnings("deprecation")
public MyDate(int year, int month, int date) {
super(year, month ,date);
}
@SuppressWarnings("deprecation")
public MyDate(int year, int month, int date, int hrs, int min) {
        super(year, month, date, hrs, min);
    }
@SuppressWarnings("deprecation")
public MyDate(int year, int month, int date, int hrs, int min, int sec) {
super(year, month, date, hrs, min, sec);
}
@SuppressWarnings("deprecation")
public MyDate(String s){
super(s);
}

public MyDate(Date date){
super(date.getTime());
}

public static Calendar getCurrentCalendar(){
return Calendar.getInstance();
}

public static Calendar getCurrentCalendar(Locale locale){
return Calendar.getInstance(locale);
}

public static int get(int field){
return getCurrentCalendar().get(field);
}

public static int get(Calendar calendar , int field){
return calendar.get(field);
}

public static int getCurrentYear(){
return get(Calendar.YEAR);
}

public static int getCurrentMonth(){
return get(Calendar.MONTH);
}

public static int getCurrentDay(int field){
if(field == Calendar.DAY_OF_WEEK || field == Calendar.DAY_OF_WEEK_IN_MONTH
|| field == Calendar.DAY_OF_YEAR){
return get(field);
}
return get(Calendar.DAY_OF_MONTH);
}

public static int getCurrentDay(){
return getCurrentDay(Calendar.DAY_OF_MONTH);
}

public static int getCurrentHours(int field){
if(field == Calendar.HOUR)
return get(Calendar.HOUR);
return get(Calendar.HOUR_OF_DAY);
}

public static int getCurrentHours(){
return getCurrentHours(Calendar.HOUR_OF_DAY);
}

public static int getCurrentMinutes(){
return get(Calendar.MINUTE);
}
public static int getCurrentSeconds(){
return get(Calendar.SECOND);
}
public static int getCurrentMillis(){
return get(Calendar.MILLISECOND);
}
public static Date getCurrentDate(){
return getCurrentCalendar().getTime();
}
public static long getCurrentTimeInMillis(){
return getCurrentCalendar().getTimeInMillis();
}


public static String formatDate(SimpleDateFormat sdf ,Date date){
return sdf.format(date);
}
public static String formatDate(String simpleDateFormat, Date date){
return formatDate(new SimpleDateFormat(simpleDateFormat),date);
}
public static String formatDate(Date date){
return formatDate(new SimpleDateFormat(DefaultSimpleDateFormat),date);
}


public static MyDate normalizeDate(SimpleDateFormat sdf,  String date){
try {
return new MyDate(sdf.parse(date));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(ParseExceptionError);
}
return null;
}

public static MyDate normalizeDate(String simpleDateFormat ,String date){
return normalizeDate(new SimpleDateFormat(simpleDateFormat), date);
}

public static MyDate normalizeDate(String date){
return normalizeDate(DefaultSimpleDateFormat,date);
}

public static MyDate normalizeYMDDate(String date){
return normalizeDate(DefaultYMDSimpleDateFormat,date);
}

/**
* non-static methods
* 2014-4-16上午09:47:00
*/

public String getFormatDate(SimpleDateFormat sdf){
return sdf.format(this);
}
public String getFormatDate(String simpleDateFormat){
return getFormatDate(new SimpleDateFormat(simpleDateFormat));
}
public String getFormatDate(){
return getFormatDate(DefaultSimpleDateFormat);
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值