package com.win.util;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CommUtilService{
/**
* 获取 当前年、月、日、 时 分 秒开始时间
*/
private final static SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private final static SimpleDateFormat longHourSdf = new SimpleDateFormat("yyyy-MM-dd HH");
private final static SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
System.out.println("当前小时开始:"+shortSdf.format(getCurrentHourStartTime()).toString());
System.out.println("当前小时结束:"+shortSdf.format(getCurrentHourEndTime()).toString());
System.out.println("当前天开始:"+shortSdf.format(getCurrentDayStartTime()).toString());
System.out.println("当前天时结束:"+shortSdf.format(getCurrentDayEndTime()).toString());
System.out.println("当前月开始:"+shortSdf.format(getCurrentMonthStartTime()).toString());
System.out.println("当前月结束:"+shortSdf.format(getCurrentMonthEndTime()).toString());
System.out.println("当前年开始:"+shortSdf.format(getCurrentYearStartTime()).toString());
System.out.println("当前年结束:"+shortSdf.format(getCurrentYearEndTime()).toString());
}
/**
* 获得本小时的开始时间,即2012-01-01 23:59:59
*
* @return
*/
public static Date getCurrentHourStartTime() {
Date now = new Date();
try {
now = longHourSdf.parse(longHourSdf.format(now));
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 获得本小时的结束时间,即2012-01-01 23:59:59
*
* @return
*/
public static Date getCurrentHourEndTime() {
Date now = new Date();
try {
now = longSdf.parse(longHourSdf.format(now) + ":59:59");
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 获得本天的开始时间,即2012-01-01 00:00:00
*
* @return
*/
public static Date getCurrentDayStartTime() {
Calendar c = Calendar.getInstance();
Date now = new Date();
try {
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
now = shortSdf.parse(c.getTime().toLocaleString());
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 获得本天的结束时间,即2012-01-01 23:59:59
*
* @return
*/
public static Date getCurrentDayEndTime() {
Calendar c = Calendar.getInstance();
Date now = new Date();
try {
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
now = longSdf.parse(c.getTime().toLocaleString());
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 获得本月的开始时间,即2012-01-01 00:00:00
*
* @return
*/
public static Date getCurrentMonthStartTime() {
Calendar c = Calendar.getInstance();
Date now = null;
try {
c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY, 00);
c.set(Calendar.MINUTE, 00);
c.set(Calendar.SECOND, 00);
now = shortSdf.parse(shortSdf.format(c.getTime()));
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 当前月的结束时间,即2012-01-31 23:59:59
*
* @return
*/
public static Date getCurrentMonthEndTime() {
Calendar c = Calendar.getInstance();
Date now = null;
try {
c.set(Calendar.DATE, 1);
c.add(Calendar.MONTH, 1);
c.add(Calendar.DATE, -1);
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
now = longSdf.parse(c.getTime().toLocaleString());
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 当前年的开始时间,即2012-01-01 00:00:00
*
* @return
*/
public static Date getCurrentYearStartTime() {
Calendar c = Calendar.getInstance();
Date now = null;
try {
c.set(Calendar.MONTH, 0);
c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY, 00);
c.set(Calendar.MINUTE, 00);
c.set(Calendar.SECOND, 00);
now = shortSdf.parse(shortSdf.format(c.getTime()));
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 当前年的结束时间,即2012-12-31 23:59:59
*
* @return
*/
public static Date getCurrentYearEndTime() {
Calendar c = Calendar.getInstance();
Date now = null;
try {
c.set(Calendar.MONTH, 11);
c.set(Calendar.DATE, 31);
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
now = longSdf.parse(shortSdf.format(c.getTime()));
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
}