- package com.lcr.tools.util.date;
-
- import java.io.Serializable;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
-
- public class DateTimeUtil implements Serializable {
-
-
-
-
-
-
-
-
-
-
- private static final long serialVersionUID = 1L;
-
-
- private static final SimpleDateFormat longDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
- private static final SimpleDateFormat shortDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-
-
-
-
- private static String getWeek (String strDate) {
-
- Date date = null;
- try {
- date = shortDateFormat.parse(strDate);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
-
- return new SimpleDateFormat("EEEE").format(calendar.getTime());
- }
-
-
-
-
- private static String getShortToday () {
- Date today = new Date();
- return shortDateFormat.format(today);
- }
-
-
-
-
- private static String getLongToday () {
- Date today = new Date();
- return longDateFormat.format(today);
- }
-
-
-
-
- private static String getTodayStart () {
- Calendar calendar = Calendar.getInstance();
-
- calendar.set(Calendar.HOUR_OF_DAY, 0);
- calendar.set(Calendar.MINUTE, 0);
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- Date date = new Date(calendar.getTimeInMillis());
- return longDateFormat.format(date);
- }
-
-
-
-
- private static String getTodayEnd () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.HOUR_OF_DAY, 23);
- calendar.set(Calendar.MINUTE, 59);
- calendar.set(Calendar.SECOND, 59);
- Date date = new Date(calendar.getTimeInMillis());
- return longDateFormat.format(date);
- }
-
-
-
-
- private static String getDateStart (String strDate) {
- if (null == strDate || "".equals(strDate.trim())) {
- return "";
- }
- Date date = null;
- try {
- date = shortDateFormat.parse(strDate);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return longDateFormat.format(date);
- }
-
-
-
-
- private static String getDateEnd (String strDate) {
- if (null == strDate || "".equals(strDate.trim())) {
- return "";
- }
- Date date = null;
- try {
- date = shortDateFormat.parse(strDate);
- } catch (ParseException e) {
- e.printStackTrace();
- }
-
-
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.set(Calendar.HOUR_OF_DAY, 23);
- calendar.set(Calendar.MINUTE, 59);
- calendar.set(Calendar.SECOND, 59);
- calendar.set(Calendar.MILLISECOND, 0);
-
- return longDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getMondayOfThisWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
-
-
-
-
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getSundayOfThisWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
-
-
-
-
-
- calendar.add(Calendar.DATE, 6);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getMondayOfPreviousWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
- calendar.add(Calendar.DATE, -7);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getSundayOfPreviousWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
- calendar.add(Calendar.DATE, -1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getMondayOfNextWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
- calendar.add(Calendar.DATE, 7);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getSundayOfNextWeek () {
- Calendar calendar = Calendar.getInstance();
- int day_of_week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
- if (day_of_week == 0){
- day_of_week = 7;
- }
- calendar.add(Calendar.DATE, -day_of_week + 1);
- calendar.add(Calendar.DATE, 13);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getFirstDayOfThisMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.DATE, 1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getLastDayOfThisMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.DATE, 1);
- calendar.add(Calendar.MONTH, 1);
- calendar.add(Calendar.DATE, -1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getFirstDayOfPreviousMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.DATE, 1);
- calendar.add(Calendar.MONTH, -1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getLastDayOfPreviousMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.DATE, 1);
- calendar.add(Calendar.DATE, -1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getFirstDayOfNextMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.MONTH, 1);
- calendar.set(Calendar.DATE, 1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static String getLastDayOfNextMonth () {
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.MONTH, 1);
- calendar.set(Calendar.DATE, 1);
- calendar.roll(Calendar.DATE, -1);
- return shortDateFormat.format(calendar.getTime());
- }
-
-
-
-
- private static int getTotalDaysOfThisYear() {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.DAY_OF_YEAR, 1);
- calendar.roll(Calendar.DAY_OF_YEAR, -1);
- int totalDays = calendar.get(Calendar.DAY_OF_YEAR);
- return totalDays;
- }
-
-
-
-
- private static int getLastDayOfMonth (int year, int month) {
- if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
- return 31;
- }
- if (month == 4 || month == 6 || month == 9 || month == 11) {
- return 30;
- }
- if (month == 2) {
- if (isLeapYear(year)) {
- return 29;
- } else {
- return 28;
- }
- }
- return 0;
- }
-
-
-
-
- public static boolean isLeapYear (int year) {
- return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
- }
-
-
-
-
-
- public static String getFirstDayOfThisYear () {
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.MONTH, 1);
- calendar.set(Calendar.DAY_OF_YEAR, 1);
- Date date = new Date(calendar.getTimeInMillis());
- return shortDateFormat.format(date);
- }
-
-
-
-
- public static String getLastDayOfThisYear () {
- Date date = new Date();
- String years = new SimpleDateFormat("yyyy").format(date);
- return years + "-12-31";
- }
-
-
-
-
- public static String getFirstDayOfPreviousYear () {
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.YEAR, -1);
- calendar.set(Calendar.MONTH, 1);
- calendar.set(Calendar.DAY_OF_YEAR, 1);
- Date date = new Date(calendar.getTimeInMillis());
- return shortDateFormat.format(date);
- }
-
-
-
-
- public static long getDays (String date1, String date2) {
- if (date1 == null || "".equals(date1.trim())) {
- return 0;
- }
- if (date2 == null || "".equals(date2.trim())) {
- return 0;
- }
-
- Date date = null;
- Date mydate = null;
- try {
- date = shortDateFormat.parse(date1);
- mydate = shortDateFormat.parse(date2);
- } catch (Exception e) {
- e.printStackTrace();
- }
- long day = 0;
- if (date.before(mydate)) {
- day = (mydate.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
- } else {
- day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
- }
- return day;
- }
-
-
-
-
- public static void main(String[] args) {
- System.out.println("/*--------------------------两个时间之间的天数--------------------------*/");
- System.out.println("两个时间之间的天数1 : " + getDays ("2012-05-10", "2012-05-15"));
- System.out.println("两个时间之间的天数2 : " + getDays ("2012-06-10", "2012-05-15"));
- System.out.println("/*--------------------------获得上年第一天的日期--------------------------*/");
- System.out.println("获得上年第一天的日期 : " + getFirstDayOfPreviousYear ());
- System.out.println("/*--------------------------获得本年最后一天的日期--------------------------*/");
- System.out.println("获得本年最后一天的日期 : " + getLastDayOfThisYear ());
- System.out.println("/*--------------------------获得本年第一天的日期--------------------------*/");
- System.out.println("获得本年第一天的日期 : " + getFirstDayOfThisYear ());
- System.out.println("/*--------------------------获取某年某月的最后一天--------------------------*/");
- System.out.println("获取某年某月的最后一天 : " + getLastDayOfMonth (2012, 5));
- System.out.println("/*--------------------------------是否闰年---------------------------------*/");
- System.out.println("是否闰年 : " + isLeapYear(2012));
- System.out.println("/*--------------------------获得本年有多少天--------------------------*/");
- System.out.println("获得本年有多少天 : " + getTotalDaysOfThisYear());
- System.out.println("/*--------------------------下月1号和最后一天--------------------------*/");
- System.out.println("下月1号 : " + getFirstDayOfNextMonth());
- System.out.println("下月最后一天 : " + getLastDayOfNextMonth ());
- System.out.println("/*--------------------------上月1号和最后一天--------------------------*/");
- System.out.println("上月1号 : " + getFirstDayOfPreviousMonth());
- System.out.println("上月最后一天 : " + getLastDayOfPreviousMonth ());
- System.out.println("/*--------------------------当月1号和最后一天--------------------------*/");
- System.out.println("当月1号 : " + getFirstDayOfThisMonth());
- System.out.println("当月最后一天 : " + getLastDayOfThisMonth ());
- System.out.println("/*--------------------------当月1号和最后一天--------------------------*/");
- System.out.println("当月1号 : " + getFirstDayOfThisMonth());
- System.out.println("当月最后一天 : " + getLastDayOfThisMonth ());
- System.out.println("/*--------------------------下周周一和周日--------------------------*/");
- System.out.println("下周周一 : " + getMondayOfNextWeek());
- System.out.println("下周周日 : " + getSundayOfNextWeek ());
- System.out.println("/*--------------------------上周周一和周日--------------------------*/");
- System.out.println("上周周一 : " + getMondayOfPreviousWeek());
- System.out.println("上周周日 : " + getSundayOfPreviousWeek ());
- System.out.println("/*--------------------------当周周一和周日--------------------------*/");
- System.out.println("当周周一 : " + getMondayOfThisWeek ());
- System.out.println("当周周日 : " + getSundayOfThisWeek ());
- System.out.println("/*--------------------------特定日期(零点和23点)--------------------------*/");
- System.out.println("特定日期(23点59分59秒) : " + getDateEnd ("2012-05-12"));
- System.out.println("特定日期(零点零分零秒) : " + getDateStart ("2012-05-12"));
- System.out.println("/*--------------------------当天(零点和23点)--------------------------*/");
- System.out.println("当天(23点59分59秒) : " + getTodayEnd ());
- System.out.println("当天(零点零分零秒) : " + getTodayStart ());
- System.out.println("/*---------------------------当天(长日期格式和短日期格式)-------------------------*/");
- System.out.println("当天(长日期格式) : " + getLongToday ());
- System.out.println("当天(短日期格式) : " + getShortToday ());
- System.out.println("/*---------------------------当天(长日期格式和短日期格式)-------------------------*/");
- System.out.println("根据一个日期,返回是星期几的字符串 : " + getWeek ("2012-05-12"));
- }
- }
|
|