您的位置:首页 > 编程语言 > Java开发

java日期类封装

2015-11-16 17:20 519 查看
/**
* @author xiaoqun.yi 日期工具类
*/
public class DateTimeHelper {

/**
* 获取当前年
* @return yyyy
*/
public static String getCurrentYear() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间
String year = String.valueOf(c.get(Calendar.YEAR)); // 获取年
return year;
}

/**
* 获取当前月
* 格式:mm
*/
public static String getCurrentMonth() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间
String month = String.valueOf(c.get(Calendar.MONTH) + 1).length() == 2 ? String
.valueOf(c.get(Calendar.MONTH) + 1) : "0"
+ String.valueOf(c.get(Calendar.MONTH) + 1);
return month;
}

/**
* 获取当前天
* @return dd 不足10前面补0
*/
public static String getCurrentDay() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间
String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH)).length() == 2 ? String
.valueOf(c.get(Calendar.DAY_OF_MONTH) + 1) : "0"
+ String.valueOf(c.get(Calendar.DAY_OF_MONTH));

return day;
}

/**
* 获取当前小时
* @return mm 不足10前面补0
*/
public static String getCurrentHour() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间
String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)).length() == 2 ? String
.valueOf(c.get(Calendar.HOUR_OF_DAY)) : "0"
+ String.valueOf(c.get(Calendar.HOUR_OF_DAY));
return hour;
}
/**
* 获取当前分钟
* @return mm 不足10前面补0
*/
public static String getCurrentMinute() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间
String min = String.valueOf(c.get(Calendar.MINUTE)).length() == 2 ? String
.valueOf(c.get(Calendar.MINUTE)) : "0"
+ String.valueOf(c.get(Calendar.MINUTE));
return min;
}
/**
* 获取当前日期
* @return yyyy-MM-dd
*/
public static String getCurrentDate(){
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Timestamp(calendar.getTime().getTime()));
}
/**
*
* @param month 前几个月
* @param day   前几天
* @return yyyyMMdd
*/
public static String getBeforeDate(int month,int day){
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
calendar.add(Calendar.MONTH, month);    //得到前一
calendar.add(Calendar.DATE, day);    //得到前一
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Timestamp(calendar.getTime().getTime()));
}

/**
* 格式显示日期
* @param str yyyyMMdd
* @return yyyy年MM月dd日
*/
public static String formtDate(String str){
return str.substring(0,4)+"年"+str.substring(4,6)+"月"+str.substring(6,8)+"日";
}

/**
* 获取系统当期时间,
* @return Timestamp
*/
public static Timestamp getNowTimestamp()
{
return new Timestamp(System.currentTimeMillis());
}

/**
* 系统当期时间
* @return  Date
*/
public static Date getNowDate()
{
return new Date(System.currentTimeMillis());
}

/**
* 获取当期时间字符串
* @param pattern 格式化字符串
* @return
*/
public static String getNowDateStr(String pattern)
{
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date(System.currentTimeMillis()));
}

/**
* 时间转化 字符串转换成时间
* @param dateStr 字符串
* @param pattern 格式
* @return Timestamp
*/
public static Timestamp convertToTimestamp(String dateStr,String pattern)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date date = sdf.parse(dateStr);
return new Timestamp(date.getTime());
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
/**
*
* @param timeMillis 时间转换字符串
* @param pattern
* @return
*/
public static String converToStr(long timeMillis, String pattern)
{
Timestamp t = new Timestamp(timeMillis);
return convert(t, pattern);
}

/**
* 时间转化 字符串转换成时间
* @param dateStr
* @param pattern
* @return Date
*/
public static Date convertToDate(String dateStr, String pattern)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(dateStr);
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}

/**
* 时间转化 时间字符串
* @param timestamp
* @param pattern
* @return String
*/
public static String convert(Timestamp timestamp, String pattern)
{
if (timestamp == null)
{
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date(timestamp.getTime()));
}

/**
* 时间转化 根据格式转换时间为字符串
* @param date
* @param pattern
* @return String
*/
public static String conver(Date date, String pattern)
{
if (date == null)
{
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}

/**
* 时间增加 天数
* @param currentmi
* @param day
* @return Date
*/
public static Date addDateTime(long currentmi, int day)
{
Calendar cl = Calendar.getInstance();
cl.setTimeInMillis(currentmi);
cl.add(Calendar.DATE, day);
return new Date(cl.getTimeInMillis());
}

/**
* 给时间增加一定天数
* @param currentmi
* @param day 增加的天数
* @param pattern
* @returnn String
*/
public static String addDateTimeToStr(long currentmi, int day,String pattern)
{
Calendar cl = Calendar.getInstance();
cl.setTimeInMillis(currentmi);
cl.add(Calendar.DATE, day);
long result = cl.getTimeInMillis();
return conver(new Date(result), pattern);
}

/**
* 获取当前月的第一天
* @return Timestamp
*/
public static Timestamp getFirstDayOfMonth()
{
Calendar cal = Calendar.getInstance();
cal.set(GregorianCalendar.DAY_OF_MONTH, 1);
return new Timestamp(cal.getTime().getTime());
}
/**
* 获取当前月第一天
* @return  yyyyMMdd
*/
public static String getCurrentMonthFirstDay1(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return  sdf.format(getFirstDayOfMonth());
}
/**
* 获取当前月第一天
* @return  yyyy年MM月dd日
*/
public static String getCurrentMonthFirstDay2(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM年dd日");
return  sdf.format(getFirstDayOfMonth());
}

/**
* 获取当月的最后一天
* @return  Timestamp
*/
public static Timestamp getLastDayOfMonth()
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DATE, 1);
cal.roll(Calendar.DATE, -1);
return new Timestamp(cal.getTime().getTime());
}

/**
* 获取当前月最后一天
* @return  yyyyMMdd
*/
public static String getCurrentMontLastDay1(){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DATE, 1);
cal.roll(Calendar.DATE, -1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return  sdf.format(cal.getTime());
}

/** 获取当月的最后一天
* 返回yyyy年mm月dd日
* @return yyyy年MM月dd日
*/
public static String getCurrentMontLastDay2(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
return  sdf.format(getLastDayOfMonth());
}

/**
* 得到今天的前一天
* @return yyyyMMdd
*/
public static String getOneDayfore(){
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
calendar.add(Calendar.DATE, -1);    //得到前一
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(new Timestamp(calendar.getTime().getTime()));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: