Commit 8ce016da authored by wujiang's avatar wujiang

添加时间转换

parent 7bc290f0
...@@ -17,7 +17,7 @@ public class DateUtils { ...@@ -17,7 +17,7 @@ public class DateUtils {
public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static final String MINUTE_PATTERN = "yyyy-MM-dd HH:mm"; public static final String MINUTE_PATTERN = "yyyy-MM-dd HH:mm";
public static final String HOUR_PATTERN = "yyyy-MM-dd HH:mm:ss"; public static final String HOUR_PATTERN = "yyyy-MM-dd HH";
public static final String DATE_PATTERN = "yyyy-MM-dd"; public static final String DATE_PATTERN = "yyyy-MM-dd";
public static final String MONTH_PATTERN = "yyyy-MM"; public static final String MONTH_PATTERN = "yyyy-MM";
public static final String YEAR_PATTERN = "yyyy"; public static final String YEAR_PATTERN = "yyyy";
...@@ -136,7 +136,6 @@ public class DateUtils { ...@@ -136,7 +136,6 @@ public class DateUtils {
return cal.getTime(); return cal.getTime();
} }
/** /**
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
* *
...@@ -154,7 +153,8 @@ public class DateUtils { ...@@ -154,7 +153,8 @@ public class DateUtils {
* 时间格式化成字符串 * 时间格式化成字符串
* *
* @param date Date * @param date Date
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN, 如果为空,则为yyyy-MM-dd * @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN,
* 如果为空,则为yyyy-MM-dd
* @return * @return
* @throws ParseException * @throws ParseException
*/ */
...@@ -186,7 +186,6 @@ public class DateUtils { ...@@ -186,7 +186,6 @@ public class DateUtils {
return content; return content;
} }
/* /*
* 将时间戳转换为时间 * 将时间戳转换为时间
*/ */
...@@ -202,7 +201,8 @@ public class DateUtils { ...@@ -202,7 +201,8 @@ public class DateUtils {
* 字符串解析成时间对象 * 字符串解析成时间对象
* *
* @param dateTimeString String * @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd * @param pattern StrUtils.DATE_TIME_PATTERN ||
* StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd
* @return * @return
* @throws ParseException * @throws ParseException
*/ */
...@@ -215,6 +215,35 @@ public class DateUtils { ...@@ -215,6 +215,35 @@ public class DateUtils {
} }
/** /**
* 字符串解析成时间对象
*
* @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN ||
* StrUtils.DATE_PATTERN,如果为空,则为yyyy-MM-dd
* @return
* @throws ParseException
*/
public static Date dateParse(String dateTimeString) {
if (dateTimeString == null) {
return null;
}
try {
if (dateTimeString.length() == 10) {
return dateParse(dateTimeString, DateUtils.DATE_PATTERN);
} else if (dateTimeString.length() == 13) {
return dateParse(dateTimeString, DateUtils.HOUR_PATTERN);
} else if (dateTimeString.length() == 16) {
return dateParse(dateTimeString, DateUtils.MINUTE_PATTERN);
} else {
return dateParse(dateTimeString, DateUtils.DATE_TIME_PATTERN);
}
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化) * 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化)
* *
* @param dateTime Date * @param dateTime Date
...@@ -227,8 +256,7 @@ public class DateUtils { ...@@ -227,8 +256,7 @@ public class DateUtils {
} }
/** /**
* 当时、分、秒为00:00:00时,将日期时间格式成只有日期的字符串, * 当时、分、秒为00:00:00时,将日期时间格式成只有日期的字符串, 当时、分、秒不为00:00:00时,直接返回
* 当时、分、秒不为00:00:00时,直接返回
* *
* @param dateTime Date * @param dateTime Date
* @return * @return
...@@ -568,8 +596,8 @@ public class DateUtils { ...@@ -568,8 +596,8 @@ public class DateUtils {
List list = new ArrayList(); List list = new ArrayList();
Calendar aCalendar = Calendar.getInstance(Locale.CHINA); Calendar aCalendar = Calendar.getInstance(Locale.CHINA);
aCalendar.set(yearParam, monthParam - 1, 1); aCalendar.set(yearParam, monthParam - 1, 1);
int year = aCalendar.get(Calendar.YEAR);//年份 int year = aCalendar.get(Calendar.YEAR);// 年份
int month = aCalendar.get(Calendar.MONTH) + 1;//月份 int month = aCalendar.get(Calendar.MONTH) + 1;// 月份
int day = aCalendar.getActualMaximum(Calendar.DATE); int day = aCalendar.getActualMaximum(Calendar.DATE);
for (int i = 1; i <= day; i++) { for (int i = 1; i <= day; i++) {
...@@ -578,7 +606,6 @@ public class DateUtils { ...@@ -578,7 +606,6 @@ public class DateUtils {
return list; return list;
} }
/** /**
* 当前月的结束时间,即2012-01-31 23:59:59 * 当前月的结束时间,即2012-01-31 23:59:59
* *
...@@ -601,21 +628,32 @@ public class DateUtils { ...@@ -601,21 +628,32 @@ public class DateUtils {
} }
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
/*System.out.println(dateTimeToDate(new Date())); /*
System.out.println(dateParse("2017-02-04 14:58:20", null)); * System.out.println(dateTimeToDate(new Date()));
System.out.println(dateTimeToDateStringIfTimeEndZero(new Date())); * System.out.println(dateParse("2017-02-04 14:58:20", null));
System.out.println(dateTimeToDateStringIfTimeEndZero(dateTimeToDate(new Date())));*/ * System.out.println(dateTimeToDateStringIfTimeEndZero(new Date()));
//System.out.println(dateBetween(dateParse("2017-01-30", null), dateParse("2017-02-01", null))); * System.out.println(dateTimeToDateStringIfTimeEndZero(dateTimeToDate(new
//System.out.println(dateBetweenIncludeToday(dateParse("2017-01-30", null), dateParse("2017-02-01", null))); * Date())));
*/
// System.out.println(dateBetween(dateParse("2017-01-30", null),
// dateParse("2017-02-01", null)));
// System.out.println(dateBetweenIncludeToday(dateParse("2017-01-30", null),
// dateParse("2017-02-01", null)));
// System.out.println(getDate(dateParse("2017-01-17", null))); // System.out.println(getDate(dateParse("2017-01-17", null)));
//System.out.println(getDate(dateParse("2017-01-17", null))); // System.out.println(getDate(dateParse("2017-01-17", null)));
/* /*
System.out.println(getDaysOfMonth(dateParse("2017-02-01", null))); * System.out.println(getDaysOfMonth(dateParse("2017-02-01", null)));
System.out.println(getDaysOfYear(dateParse("2017-01-30", null)));*/ * System.out.println(getDaysOfYear(dateParse("2017-01-30", null)));
//System.out.println(dateFormat(dateAddMonths(dateParse("2017-02-07", StrUtils.MONTH_PATTERN), -12), StrUtils */
// System.out.println(dateFormat(dateAddMonths(dateParse("2017-02-07",
// StrUtils.MONTH_PATTERN), -12), StrUtils
// .MONTH_PATTERN)); // .MONTH_PATTERN));
/*System.out.println(dateFormat(maxDateOfMonth(dateParse("2016-02", "yyyy-MM")), null)); /*
System.out.println(dateFormat(minDateOfMonth(dateParse("2016-03-31", null)), null));*/ * System.out.println(dateFormat(maxDateOfMonth(dateParse("2016-02",
* "yyyy-MM")), null));
* System.out.println(dateFormat(minDateOfMonth(dateParse("2016-03-31", null)),
* null));
*/
// System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_YEAR)); // System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_YEAR));
// System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_MONTH)); // System.out.println(dateFormat(new Date(), CHN_DATE_PATTERN_MONTH));
...@@ -650,8 +688,8 @@ public class DateUtils { ...@@ -650,8 +688,8 @@ public class DateUtils {
try { try {
date = shortSdf.parse(dateStr); date = shortSdf.parse(dateStr);
calendar.setTime(date); calendar.setTime(date);
int month = calendar.get(Calendar.MONTH) + 1;//月份 int month = calendar.get(Calendar.MONTH) + 1;// 月份
int year = calendar.get(Calendar.YEAR);//年份 int year = calendar.get(Calendar.YEAR);// 年份
int day = calendar.getActualMaximum(Calendar.DATE); int day = calendar.getActualMaximum(Calendar.DATE);
for (int i = 1; i <= day; i++) { for (int i = 1; i <= day; i++) {
String source = year + "-" + month + "-" + i; String source = year + "-" + month + "-" + i;
...@@ -706,7 +744,6 @@ public class DateUtils { ...@@ -706,7 +744,6 @@ public class DateUtils {
return age; return age;
} }
/** /**
* 根据两个日期返回相差的时分秒 * 根据两个日期返回相差的时分秒
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment