From 9609ae6b6d10a75c70920fd805f1ea9566c9bbdf Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 03 九月 2021 09:57:46 +0800
Subject: [PATCH] 邻里圈接口开发
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java | 485 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 323 insertions(+), 162 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
index 4c6681d..7570360 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -1,8 +1,5 @@
package com.panzhihua.common.utlis;
-import lombok.extern.slf4j.Slf4j;
-
-import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
@@ -10,37 +7,31 @@
import java.util.Calendar;
import java.util.Date;
+import lombok.extern.slf4j.Slf4j;
+
@Slf4j
public class DateUtils {
-
public static DateTimeFormatter format_ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-
- private static DateTimeFormatter format_ymdhmssss = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
-
- private static DateTimeFormatter format_ymds = DateTimeFormatter.ofPattern("yyyyMMdd");
-
public static DateTimeFormatter format_ymd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-
public static DateTimeFormatter format_ymdhms_string = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
-
public static DateTimeFormatter format_ymdhms_no_signal = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
-
public static SimpleDateFormat yyyyMMdd_format = new SimpleDateFormat("yyyy-MM-dd");
-
public static SimpleDateFormat yyyy_MM_dd_format = new SimpleDateFormat("yyyy/MM/ddHH:mm:ss");
-
public static SimpleDateFormat ymdhms_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
+ public static SimpleDateFormat ymdhm_format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
public static DateTimeFormatter format_ymd_String = DateTimeFormatter.ofPattern("yyMMdd");
-
-
+ public static SimpleDateFormat yyyyMM_format = new SimpleDateFormat("yyyy-MM");
+ private static DateTimeFormatter format_ymdhmssss = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+ private static DateTimeFormatter format_ymds = DateTimeFormatter.ofPattern("yyyyMMdd");
/**
* 将日期对象格式化成指定的字符串格式
*
- * @param date 日期对象
- * @param formatString 格式化字符串
+ * @param date
+ * 日期对象
+ * @param formatString
+ * 格式化字符串
* @return String
*/
public static String getDateFormatString(Date date, String formatString) {
@@ -55,42 +46,46 @@
/**
* 字符串转date
- * @param date 时间戳
- * @param format format
+ *
+ * @param date
+ * 时间戳
+ * @param format
+ * format
* @return 时间
*/
- public static Date stringToDate(String date,SimpleDateFormat format){
+ public static Date stringToDate(String date, SimpleDateFormat format) {
try {
- if(StringUtils.isBlank(date)){
+ if (StringUtils.isBlank(date)) {
return null;
}
return format.parse(date);
} catch (ParseException e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
}
return null;
}
-
/**
* 字符串转date
- * @param date 时间戳
+ *
+ * @param date
+ * 时间戳
* @return 时间
*/
- public static Date stringToDateStandard (String date){
+ public static Date stringToDateStandard(String date) {
SimpleDateFormat format = ymdhms_format;
- if(StringUtils.isNotBlank(date)){
- if(date.split("-").length==3){
- if(date.split(":").length!=3){
+ if (StringUtils.isNotBlank(date)) {
+ if (date.split("-").length == 3) {
+ if (date.split(":").length != 3) {
format = yyyyMMdd_format;
}
- }else if(date.split("-").length==2){
+ } else if (date.split("-").length == 2) {
format = new SimpleDateFormat("yyyy-MM");
}
try {
return format.parse(date);
} catch (ParseException e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
}
}
return null;
@@ -98,97 +93,110 @@
/**
* 字符串转date
- * @param date 时间戳
+ *
+ * @param date
+ * 时间戳
* @return 时间
*/
- public static Date stringToDateStandardByYYYY_MM_dd (String date){
+ public static Date stringToDateStandardByYYYY_MM_dd(String date) {
SimpleDateFormat format = yyyy_MM_dd_format;
- if(StringUtils.isNotBlank(date)){
+ if (StringUtils.isNotBlank(date)) {
try {
return format.parse(date);
} catch (ParseException e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
}
}
return null;
}
-
/**
* 获取当前时间
+ *
* @return
* @throws Exception
*/
- public static LocalDateTime getCurrentDate(){
+ public static LocalDateTime getCurrentDate() {
LocalDateTime now = LocalDateTime.now();
return now;
}
/**
- * 获取当前时间字符串,格式为yyyy-MM-dd HH:mm:ss
+ * 返回当前事件的时间戳
+ *
* @return
*/
- public static String getCurrentDateStr(){
- String nowtime=getCurrentDate().format(format_ymdhms);
+ public static Long getCurrentDateTimeStamp() {
+ return LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
+ }
+
+ /**
+ * 获取当前时间字符串,格式为yyyy-MM-dd HH:mm:ss
+ *
+ * @return
+ */
+ public static String getCurrentDateStr() {
+ String nowtime = getCurrentDate().format(format_ymdhms);
return nowtime;
}
- public static String getCurrentDateymd(){
- String nowtime=getCurrentDate().format(format_ymdhms_string);
+ public static String getCurrentDateymd() {
+ String nowtime = getCurrentDate().format(format_ymdhms_string);
return nowtime;
}
- public static String getCurrentDateyymd(){
- String nowtime=getCurrentDate().format(format_ymd_String);
+ public static String getCurrentDateyymd() {
+ String nowtime = getCurrentDate().format(format_ymd_String);
return nowtime;
}
/**
* 获取当前时间字符串,格式为yyyyMMdd
+ *
* @return
*/
- public static String getCurrentDateString(){
- String nowtime=getCurrentDate().format(format_ymds);
+ public static String getCurrentDateString() {
+ String nowtime = getCurrentDate().format(format_ymds);
return nowtime;
}
-
/**
* 获取当前时间字符串,格式为yyyy-MM-dd
+ *
* @return
*/
- public static String getCurrentDateStrymd(){
- String nowtime=getCurrentDate().format(format_ymd);
+ public static String getCurrentDateStrymd() {
+ String nowtime = getCurrentDate().format(format_ymd);
return nowtime;
}
- public static String getCurrentDateStr_MS(){
- String nowtime=getCurrentDate().format(format_ymdhmssss);
+ public static String getCurrentDateStr_MS() {
+ String nowtime = getCurrentDate().format(format_ymdhmssss);
return nowtime;
}
/**
* 获取当前时间long值
+ *
* @return
*/
- public static long getCurrentDataLong(){
+ public static long getCurrentDataLong() {
return new Date().getTime();
}
-
-
/**
* 获取当前时间
+ *
* @param format
* @return
* @throws Exception
*/
- public static Date getCurrentDate(SimpleDateFormat format){
+ public static Date getCurrentDate(SimpleDateFormat format) {
String tempDate = format.format(new Date());
try {
return format.parse(tempDate);
} catch (ParseException e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
}
return null;
}
@@ -204,13 +212,13 @@
try {
return newFormat.parse(tempDate);
} catch (ParseException e) {
- log.error(e.getMessage(),e);
+ log.error(e.getMessage(), e);
}
return null;
}
public static String format(Date date, SimpleDateFormat format) {
- if(null == date){
+ if (null == date) {
return "";
}
return format.format(date);
@@ -225,22 +233,22 @@
public static String formatSecond_ZH_HMS(Integer second) {
String result = "0秒";
if (null != second) {
- int hours = (int) (second / (60 * 60));
- int minutes = (int) (second / 60 - hours * 60);
- int seconds = (int) (second - minutes * 60 - hours * 60 * 60);
+ int hours = second / (60 * 60);
+ int minutes = second / 60 - hours * 60;
+ int seconds = second - minutes * 60 - hours * 60 * 60;
String format;
Object[] array;
if (hours > 0) {
format = "%1$,d时%2$,d分%3$,d秒";
- array = new Object[]{hours, minutes, seconds};
+ array = new Object[] {hours, minutes, seconds};
} else if (minutes > 0) {
format = "%1$,d分%2$,d秒";
- array = new Object[]{minutes, seconds};
+ array = new Object[] {minutes, seconds};
} else {
format = "%1$,d秒";
- array = new Object[]{seconds};
+ array = new Object[] {seconds};
}
result = String.format(format, array);
}
@@ -283,6 +291,7 @@
/**
* 对日期进行加法操作
+ *
* @param date
* @param hours
* @return
@@ -299,6 +308,7 @@
/**
* 对日期的分钟进行加法操作
+ *
* @param date
* @param minutes
* @return
@@ -345,7 +355,7 @@
return 0;
}
if (null == startDate) {
- //当前时间大于endDate
+ // 当前时间大于endDate
if (dateCompare(now, endDate) == 1) {
return 1;
} else {
@@ -353,7 +363,7 @@
}
} else {
if (null == endDate) {
- //当前时间小于startDate
+ // 当前时间小于startDate
if (dateCompare(startDate, now) == 1) {
return -1;
} else {
@@ -373,27 +383,29 @@
/**
* 计算两个日期先差多少秒
- * @param pre 前一个日期
- * @param after 后一个日期
+ *
+ * @param pre
+ * 前一个日期
+ * @param after
+ * 后一个日期
* @return
*/
- public static long calTimeDifference(Date pre,Date after){
- return (after.getTime()-pre.getTime())/1000;
+ public static long calTimeDifference(Date pre, Date after) {
+ return (after.getTime() - pre.getTime()) / 1000;
}
-
-
/**
* 计算两个时间相差的天数
+ *
* @param stardate
* @param enddate
* @return
*/
- public static int getHour(Date stardate,Date enddate){
+ public static int getHour(Date stardate, Date enddate) {
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
- long diff=enddate.getTime()-stardate.getTime();
+ long diff = enddate.getTime() - stardate.getTime();
long day = diff / nd;
@@ -406,16 +418,17 @@
/**
* 结束时间与当前时间计算相差的月数
+ *
* @param enddate
* @return
*/
public static int getMonthSpace(String enddate, DateTimeFormatter format) {
- LocalDate formatted = LocalDate.parse(enddate,format);
+ LocalDate formatted = LocalDate.parse(enddate, format);
LocalDate today = LocalDate.now();
- Period per = Period.between(today,formatted);
- if(per.getYears() == 0 ){
+ Period per = Period.between(today, formatted);
+ if (per.getYears() == 0) {
return per.getMonths();
- }else if(per.getYears() > 0 ){
+ } else if (per.getYears() > 0) {
return (per.getYears() * 12) + per.getMonths();
}
@@ -424,102 +437,105 @@
/**
* 获取某个时间段之前的时间点
+ *
* @return
*/
- public static String getSomeTimeStapStr(String sign){
- LocalDateTime beginDateTime =null;
- if (sign.equals("day")) {//一天前时间
- beginDateTime =LocalDateTime.now().minusDays(1L);
- }else if(sign.equals("week")){
- beginDateTime =LocalDateTime.now().minusWeeks(1L);
- }else if (sign.equals("month")) {
- beginDateTime =LocalDateTime.now().minusMonths(1L);
- }else if (sign.equals("year")) {
- beginDateTime =LocalDateTime.now().minusYears(1L);
+ public static String getSomeTimeStapStr(String sign) {
+ LocalDateTime beginDateTime = null;
+ if (sign.equals("day")) {// 一天前时间
+ beginDateTime = LocalDateTime.now().minusDays(1L);
+ } else if (sign.equals("week")) {
+ beginDateTime = LocalDateTime.now().minusWeeks(1L);
+ } else if (sign.equals("month")) {
+ beginDateTime = LocalDateTime.now().minusMonths(1L);
+ } else if (sign.equals("year")) {
+ beginDateTime = LocalDateTime.now().minusYears(1L);
}
- String beginTime=beginDateTime.format(format_ymdhms);
+ String beginTime = beginDateTime.format(format_ymdhms);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
long timestap = sdf.parse(beginTime).getTime();
- beginTime = timestap+"";
+ beginTime = timestap + "";
} catch (ParseException e) {
e.printStackTrace();
}
return beginTime;
}
- public static String getSomeTimeDateStr(String sign){
- String beginTime="";
- LocalDateTime beginDateTime =null;
- if (sign.equals("day")) {//一天前时间
- beginDateTime =LocalDateTime.now().minusDays(1L);
- }else if(sign.equals("week")){
- beginDateTime =LocalDateTime.now().minusWeeks(1L);
- }else if (sign.equals("month")) {
- beginDateTime =LocalDateTime.now().minusMonths(1L);
- }else if (sign.equals("year")) {
- beginDateTime =LocalDateTime.now().minusYears(1L);
+ public static String getSomeTimeDateStr(String sign) {
+ String beginTime = "";
+ LocalDateTime beginDateTime = null;
+ if (sign.equals("day")) {// 一天前时间
+ beginDateTime = LocalDateTime.now().minusDays(1L);
+ } else if (sign.equals("week")) {
+ beginDateTime = LocalDateTime.now().minusWeeks(1L);
+ } else if (sign.equals("month")) {
+ beginDateTime = LocalDateTime.now().minusMonths(1L);
+ } else if (sign.equals("year")) {
+ beginDateTime = LocalDateTime.now().minusYears(1L);
}
- if (beginDateTime!=null) {
+ if (beginDateTime != null) {
beginTime = beginDateTime.format(format_ymdhms);
}
return beginTime;
}
-
/**
* 获取失效时间点(在什么时间失效)
- * @param minutes 有效分钟数
+ *
+ * @param minutes
+ * 有效分钟数
* @return
*/
- public static LocalDateTime getInvalidLocalDateTime(Long minutes){
+ public static LocalDateTime getInvalidLocalDateTime(Long minutes) {
return LocalDateTime.now().minusMinutes(minutes);
}
-
/**
* 获取当前年份
+ *
* @return
*/
- public static String getCurrentYear(){
+ public static String getCurrentYear() {
Calendar instance = Calendar.getInstance();
- return instance.get(Calendar.YEAR)+"";
+ return instance.get(Calendar.YEAR) + "";
}
-
/**
* 获取当前月份
+ *
* @return
*/
- public static String getCurrentMonth(){
+ public static String getCurrentMonth() {
Calendar instance = Calendar.getInstance();
int month = instance.get(Calendar.MONTH);
String result;
- if (month < 10){
+ if (month < 10) {
result = "0" + month;
- }else {
- result = month+"";
+ } else {
+ result = month + "";
}
return result;
}
- /** 获取无符号的当前时间
+ /**
+ * 获取无符号的当前时间
+ *
* @return
*/
- public static String getCurrentDateStrNoSignal(){
+ public static String getCurrentDateStrNoSignal() {
return getCurrentDate().format(format_ymdhms_no_signal);
}
-
/**
* 获取前几个小时的时间
+ *
* @param hours
* @return
*/
- public static String getNextHourDateStrNoSignal(long hours){
+ public static String getNextHourDateStrNoSignal(long hours) {
return LocalDateTime.now().plusHours(hours).format(format_ymdhms_no_signal);
}
-
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
ZoneId zone = ZoneId.systemDefault();
@@ -529,15 +545,16 @@
/**
* 小时取整
+ *
* @param date
* @param hour
* @return
*/
- public static Date integralHour(Date date,Integer hour) {
- if(date==null||hour==null){
+ public static Date integralHour(Date date, Integer hour) {
+ if (date == null || hour == null) {
return null;
}
- long l = date.getTime()- 1;
+ long l = date.getTime() - 1;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
try {
Date parse = sdf.parse(sdf.format(new Date(l)));
@@ -548,24 +565,24 @@
}
/**
- * 分钟取整
- * 以十分钟为单位 ,去除尾端,加上 参数 46->40+minutes*10
+ * 分钟取整 以十分钟为单位 ,去除尾端,加上 参数 46->40+minutes*10
+ *
* @param date
* @param minutes
* @return
*/
- public static Date integral10Min(Date date,Integer minutes) {
- if(date==null||minutes==null){
+ public static Date integral10Min(Date date, Integer minutes) {
+ if (date == null || minutes == null) {
return null;
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
- int i = cal.get(Calendar.MINUTE);//获取分钟
- if(i%10==0){
+ int i = cal.get(Calendar.MINUTE);// 获取分钟
+ if (i % 10 == 0) {
minutes--;
}
- minutes=minutes*10-i%10;
- long l = date.getTime()- 1;
+ minutes = minutes * 10 - i % 10;
+ long l = date.getTime() - 1;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:00");
try {
Date parse = sdf.parse(sdf.format(new Date(l)));
@@ -577,15 +594,16 @@
/**
* 天数取整
+ *
* @param date
* @param day
* @return
*/
- public static Date integralDay(Date date,Integer day) {
- if(date==null||day==null){
+ public static Date integralDay(Date date, Integer day) {
+ if (date == null || day == null) {
return null;
}
- long l = date.getTime()- 1;
+ long l = date.getTime() - 1;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
try {
Date parse = sdf.parse(sdf.format(new Date(l)));
@@ -597,17 +615,17 @@
/**
* 日期相加减
+ *
* @param time
- * 时间字符串 yyyy-MM-dd HH:mm:ss
+ * 时间字符串 yyyy-MM-dd HH:mm:ss
* @param num
- * 加的数,-num就是减去
- * @return
- * 减去相应的数量的年的日期
+ * 加的数,-num就是减去
+ * @return 减去相应的数量的年的日期
* @throws ParseException
*/
public static Date yearAddNum(Date time, Integer num) {
- //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- //Date date = format.parse(time);
+ // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ // Date date = format.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(time);
@@ -617,13 +635,13 @@
}
public static boolean isValidDate(String str) {
- boolean convertSuccess=true;
+ boolean convertSuccess = true;
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
try {
format.setLenient(false);
format.parse(str);
} catch (ParseException e) {
- convertSuccess=false;
+ convertSuccess = false;
}
return convertSuccess;
}
@@ -641,11 +659,11 @@
return date;
}
-
/**
* 将日期对象格式化成yyyy-MM-dd格式的字符串
*
- * @param date 日期对象
+ * @param date
+ * 日期对象
* @return String
*/
public static String getDateStringYMD(Date date) {
@@ -659,23 +677,27 @@
/**
* 获取当前月第一天
+ *
* @return
*/
public static Date getFirstDayOfMonth() {
Calendar cal = Calendar.getInstance();
- cal.add(Calendar.MONTH,0);
+ cal.add(Calendar.MONTH, 0);
int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
- cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00);
+ cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), actualMinimum, 00, 00, 00);
return cal.getTime();
}
/**
* 获取当前年月的第一天时间
- * @param year 年份
- * @param month 月份
- * @return 时间
+ *
+ * @param year
+ * 年份
+ * @param month
+ * 月份
+ * @return 时间
*/
- public static Date getYearMonthStart(Integer year,Integer month) {
+ public static Date getYearMonthStart(Integer year, Integer month) {
Calendar cal = Calendar.getInstance();
// 设置年份
cal.set(Calendar.YEAR, year);
@@ -686,17 +708,20 @@
// 设置日历中月份的最小天数
cal.set(Calendar.DAY_OF_MONTH, firstDay);
int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
- cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00);
+ cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), actualMinimum, 00, 00, 00);
return cal.getTime();
}
/**
* 获取当前年月的最后一天时间
- * @param year 年份
- * @param month 月份
- * @return 时间
+ *
+ * @param year
+ * 年份
+ * @param month
+ * 月份
+ * @return 时间
*/
- public static Date getYearMonthEnd(Integer year,Integer month) {
+ public static Date getYearMonthEnd(Integer year, Integer month) {
Calendar cal = Calendar.getInstance();
// 设置年份
cal.set(Calendar.YEAR, year);
@@ -707,21 +732,157 @@
// 设置日历中月份的最大天数
cal.set(Calendar.DAY_OF_MONTH, lastDay);
int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
- cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00);
+ cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), actualMinimum, 00, 00, 00);
return cal.getTime();
}
+ public static Date getDateM(Date start, int min) {
+ Calendar date1 = Calendar.getInstance();
+ date1.setTime(start);
+ date1.add(Calendar.MONTH, min);
+ return date1.getTime();
+ }
+ public static Date parseDateYM(String str) {
+ try {
+ return yyyyMM_format.parse(str);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static int getMonth(Date date) {
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(date);
+ return instance.get(Calendar.MONTH);
+ }
+ public static boolean before(Date start, Date end) {
+ Calendar date1 = Calendar.getInstance();
+ date1.setTime(start);
+ Calendar date2 = Calendar.getInstance();
+ date2.setTime(end);
+ return date1.before(date2);
+ }
- public static void main(String[]args)throws Exception{
- isValidDate("2020/12/4");
-// Date date= new Date();
-// Date after = new Date();
-// System.out.println(calTimeDifference(date,after));
- System.out.println(getYearMonthStart(2021,2));
+ /**
+ * date2比date1多的天数
+ *
+ * @param date1
+ * @param date2
+ * @return
+ */
+ public static int differentDays(Date date1, Date date2) {
+ Calendar cal1 = Calendar.getInstance();
+ cal1.setTime(date1);
+
+ Calendar cal2 = Calendar.getInstance();
+ cal2.setTime(date2);
+ int day1 = cal1.get(Calendar.DAY_OF_YEAR);
+ int day2 = cal2.get(Calendar.DAY_OF_YEAR);
+
+ int year1 = cal1.get(Calendar.YEAR);
+ int year2 = cal2.get(Calendar.YEAR);
+ if (year1 != year2) // 同一年
+ {
+ int timeDistance = 0;
+ for (int i = year1; i < year2; i++) {
+ if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) // 闰年
+ {
+ timeDistance += 366;
+ } else // 不是闰年
+ {
+ timeDistance += 365;
+ }
+ }
+
+ return timeDistance + (day2 - day1);
+ } else // 不同年
+ {
+ // System.out.println("判断day2 - day1 : " + (day2-day1));
+ return day2 - day1;
+ }
+ }
+
+ /**
+ * 获取当前月第一天
+ *
+ * @return
+ */
+ public static String getFirstDayOfMonthString() {
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.add(Calendar.MONTH, 0);
+
+ calendar.set(Calendar.DAY_OF_MONTH, 1);
+ // 格式化日期
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ return sdf.format(calendar.getTime()) + " 00:00:00";
+ }
+
+ /**
+ * 获取当前月最后一天
+ *
+ * @return
+ */
+ public static String getLastDayOfMonthString() {
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.add(Calendar.MONTH, 1);
+
+ calendar.set(Calendar.DAY_OF_MONTH, 0);
+ // 格式化日期
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ return sdf.format(calendar.getTime()) + " 23:59:59";
+ }
+
+ /**
+ * 获取当前时间(年月日)
+ *
+ * @return
+ */
+ public static String getDayOfMonthString() {
+ Calendar today = Calendar.getInstance();
+ today.set(Calendar.HOUR, 0);
+ today.set(Calendar.MINUTE, 0);
+ today.set(Calendar.SECOND, 0);
+ today.set(Calendar.MILLISECOND, 0);
+ // 格式化日期
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ return sdf.format(today.getTime());
+ }
+
+ /**
+ * 日期转周
+ *
+ * @param datetime
+ * @return
+ */
+ public static String dateToWeek(String datetime) {
+ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
+ String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
+ Calendar cal = Calendar.getInstance(); // 获得一个日历
+ Date datet = null;
+ try {
+ if (StringUtils.isNotEmpty(datetime)) {
+ datet = f.parse(datetime);
+ cal.setTime(datet);
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一个周中的某天。
+ if (w < 0)
+ w = 0;
+ return weekDays[w];
+ }
+
+ public static void main(String[] args) throws Exception {
+ // Date date= new Date();
+ // Date after = new Date();
+ // System.out.println(getFirstDayOfMonthString());
+ // System.out.println(getDayOfMonthString());
}
}
-
--
Gitblit v1.7.1