package com.panzhihua.common.utlis;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.time.*;
|
import java.time.format.DateTimeFormatter;
|
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");
|
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
|
* 格式化字符串
|
* @return String
|
*/
|
public static String getDateFormatString(Date date, String formatString) {
|
|
String dateString = "";
|
SimpleDateFormat format = new SimpleDateFormat(formatString);
|
if (date != null) {
|
dateString = format.format(date);
|
}
|
return dateString;
|
}
|
|
/**
|
* 字符串转date
|
*
|
* @param date
|
* 时间戳
|
* @param format
|
* format
|
* @return 时间
|
*/
|
public static Date stringToDate(String date, SimpleDateFormat format) {
|
try {
|
if (StringUtils.isBlank(date)) {
|
return null;
|
}
|
return format.parse(date);
|
} catch (ParseException e) {
|
log.error(e.getMessage(), e);
|
}
|
return null;
|
}
|
|
/**
|
* 字符串转date
|
*
|
* @param date
|
* 时间戳
|
* @return 时间
|
*/
|
public static Date stringToDateStandard(String date) {
|
SimpleDateFormat format = ymdhms_format;
|
if (StringUtils.isNotBlank(date)) {
|
if (date.split("-").length == 3) {
|
if (date.split(":").length != 3) {
|
format = yyyyMMdd_format;
|
}
|
} else if (date.split("-").length == 2) {
|
format = new SimpleDateFormat("yyyy-MM");
|
}
|
try {
|
return format.parse(date);
|
} catch (ParseException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 字符串转date
|
*
|
* @param date
|
* 时间戳
|
* @return 时间
|
*/
|
public static Date stringToDateStandardByYYYY_MM_dd(String date) {
|
SimpleDateFormat format = yyyy_MM_dd_format;
|
if (StringUtils.isNotBlank(date)) {
|
try {
|
return format.parse(date);
|
} catch (ParseException e) {
|
log.error(e.getMessage(), e);
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 获取当前时间
|
*
|
* @return
|
* @throws Exception
|
*/
|
public static LocalDateTime getCurrentDate() {
|
LocalDateTime now = LocalDateTime.now();
|
return now;
|
}
|
|
/**
|
* 返回当前事件的时间戳
|
*
|
* @return
|
*/
|
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);
|
return nowtime;
|
}
|
|
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);
|
return nowtime;
|
}
|
|
/**
|
* 获取当前时间字符串,格式为yyyy-MM-dd
|
*
|
* @return
|
*/
|
public static String getCurrentDateStrymd() {
|
String nowtime = getCurrentDate().format(format_ymd);
|
return nowtime;
|
}
|
|
public static String getCurrentDateStr_MS() {
|
String nowtime = getCurrentDate().format(format_ymdhmssss);
|
return nowtime;
|
}
|
|
/**
|
* 获取当前时间long值
|
*
|
* @return
|
*/
|
public static long getCurrentDataLong() {
|
return new Date().getTime();
|
}
|
|
/**
|
* 获取当前时间
|
*
|
* @param format
|
* @return
|
* @throws Exception
|
*/
|
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);
|
}
|
return null;
|
}
|
|
/**
|
* @param date
|
* @param newFormat
|
* @return
|
* @throws Exception
|
*/
|
public static Date getDate(Date date, SimpleDateFormat newFormat) {
|
String tempDate = newFormat.format(date);
|
try {
|
return newFormat.parse(tempDate);
|
} catch (ParseException e) {
|
log.error(e.getMessage(), e);
|
}
|
return null;
|
}
|
|
public static String format(Date date, SimpleDateFormat format) {
|
if (null == date) {
|
return "";
|
}
|
return format.format(date);
|
}
|
|
/**
|
* 将给定的时间秒转换为中文格式的时分秒
|
*
|
* @param second
|
* @return
|
*/
|
public static String formatSecond_ZH_HMS(Integer second) {
|
String result = "0秒";
|
if (null != second) {
|
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};
|
} else if (minutes > 0) {
|
format = "%1$,d分%2$,d秒";
|
array = new Object[] {minutes, seconds};
|
} else {
|
format = "%1$,d秒";
|
array = new Object[] {seconds};
|
}
|
result = String.format(format, array);
|
}
|
return result;
|
}
|
|
/**
|
* 对日期进行加法操作
|
*
|
* @param date
|
* @param days
|
* @return
|
*/
|
public static Date addDay(Date date, Integer days) {
|
if (null != date) {
|
Calendar cal = Calendar.getInstance();
|
cal.setTime(date);
|
cal.add(Calendar.DATE, days);
|
return cal.getTime();
|
}
|
return null;
|
}
|
|
/**
|
* 对日期进行加法操作
|
*
|
* @param date
|
* @param month
|
* @return
|
*/
|
public static Date addMonth(Date date, Integer month) {
|
if (null != date) {
|
Calendar cal = Calendar.getInstance();
|
cal.setTime(date);
|
cal.add(Calendar.MONTH, month);
|
return cal.getTime();
|
}
|
return null;
|
}
|
|
/**
|
* 对日期进行加法操作
|
*
|
* @param date
|
* @param hours
|
* @return
|
*/
|
public static Date addHours(Date date, Integer hours) {
|
if (null != date) {
|
Calendar cal = Calendar.getInstance();
|
cal.setTime(date);
|
cal.add(Calendar.HOUR_OF_DAY, hours);
|
return cal.getTime();
|
}
|
return null;
|
}
|
|
/**
|
* 对日期的分钟进行加法操作
|
*
|
* @param date
|
* @param minutes
|
* @return
|
*/
|
public static Date addMinutes(Date date, Integer minutes) {
|
if (null != date) {
|
Calendar cal = Calendar.getInstance();
|
cal.setTime(date);
|
cal.add(Calendar.MINUTE, minutes);
|
return cal.getTime();
|
}
|
return null;
|
}
|
|
/**
|
* 比较两个日期的大小
|
*
|
* @param date1
|
* @param date2
|
* @return 日期相等,返回0;前者大,返回1;后者大,返回-1;
|
*/
|
public static int dateCompare(Date date1, Date date2) {
|
Calendar c1 = Calendar.getInstance();
|
c1.setTime(date1);
|
|
Calendar c2 = Calendar.getInstance();
|
c2.setTime(date2);
|
|
return c1.compareTo(c2);
|
}
|
|
/**
|
* 判断当前日期是否在指定日期区域内(包含起止日期) [startDate,endDate]
|
* <p/>
|
* [null,null] --> return 1;
|
*
|
* @param now
|
* @param startDate
|
* @param endDate
|
* @return -1:超出并小于startDate;0:在范围内;1:超出并大于endDate;
|
*/
|
public static int validateDate(Date now, Date startDate, Date endDate) {
|
if (null == startDate && null == endDate) {
|
return 0;
|
}
|
if (null == startDate) {
|
// 当前时间大于endDate
|
if (dateCompare(now, endDate) == 1) {
|
return 1;
|
} else {
|
return 0;
|
}
|
} else {
|
if (null == endDate) {
|
// 当前时间小于startDate
|
if (dateCompare(startDate, now) == 1) {
|
return -1;
|
} else {
|
return 0;
|
}
|
} else {
|
if (dateCompare(startDate, now) == 1) {
|
return -1;
|
} else if (dateCompare(now, endDate) == 1) {
|
return 1;
|
} else {
|
return 0;
|
}
|
}
|
}
|
}
|
|
/**
|
* 计算两个日期先差多少秒
|
*
|
* @param pre
|
* 前一个日期
|
* @param after
|
* 后一个日期
|
* @return
|
*/
|
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) {
|
long nd = 1000 * 24 * 60 * 60;
|
long nh = 1000 * 60 * 60;
|
long nm = 1000 * 60;
|
long diff = enddate.getTime() - stardate.getTime();
|
|
long day = diff / nd;
|
|
long hour = diff % nd / nh;
|
|
long min = diff % nd % nh / nm;
|
|
return (int)day;
|
}
|
|
/**
|
* 结束时间与当前时间计算相差的月数
|
*
|
* @param enddate
|
* @return
|
*/
|
public static int getMonthSpace(String enddate, DateTimeFormatter format) {
|
LocalDate formatted = LocalDate.parse(enddate, format);
|
LocalDate today = LocalDate.now();
|
Period per = Period.between(today, formatted);
|
if (per.getYears() == 0) {
|
return per.getMonths();
|
} else if (per.getYears() > 0) {
|
return (per.getYears() * 12) + per.getMonths();
|
}
|
|
return (per.getYears() * 12) + per.getMonths();
|
}
|
|
/**
|
* 获取某个时间段之前的时间点
|
*
|
* @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);
|
}
|
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 + "";
|
} 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);
|
}
|
if (beginDateTime != null) {
|
beginTime = beginDateTime.format(format_ymdhms);
|
}
|
return beginTime;
|
}
|
|
/**
|
* 获取失效时间点(在什么时间失效)
|
*
|
* @param minutes
|
* 有效分钟数
|
* @return
|
*/
|
public static LocalDateTime getInvalidLocalDateTime(Long minutes) {
|
return LocalDateTime.now().minusMinutes(minutes);
|
}
|
|
/**
|
* 获取当前年份
|
*
|
* @return
|
*/
|
public static String getCurrentYear() {
|
Calendar instance = Calendar.getInstance();
|
return instance.get(Calendar.YEAR) + "";
|
}
|
|
/**
|
* 获取当前月份
|
*
|
* @return
|
*/
|
public static String getCurrentMonth() {
|
Calendar instance = Calendar.getInstance();
|
int month = instance.get(Calendar.MONTH);
|
String result;
|
if (month < 10) {
|
result = "0" + month;
|
} else {
|
result = month + "";
|
}
|
return result;
|
}
|
|
/**
|
* 获取无符号的当前时间
|
*
|
* @return
|
*/
|
public static String getCurrentDateStrNoSignal() {
|
return getCurrentDate().format(format_ymdhms_no_signal);
|
}
|
|
/**
|
* 获取前几个小时的时间
|
*
|
* @param hours
|
* @return
|
*/
|
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();
|
Instant instant = localDateTime.atZone(zone).toInstant();
|
return Date.from(instant);
|
}
|
|
/**
|
* 小时取整
|
*
|
* @param date
|
* @param hour
|
* @return
|
*/
|
public static Date integralHour(Date date, Integer hour) {
|
if (date == null || hour == null) {
|
return null;
|
}
|
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)));
|
return addHours(parse, hour);
|
} catch (ParseException e) {
|
return null;
|
}
|
}
|
|
/**
|
* 分钟取整 以十分钟为单位 ,去除尾端,加上 参数 46->40+minutes*10
|
*
|
* @param date
|
* @param minutes
|
* @return
|
*/
|
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) {
|
minutes--;
|
}
|
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)));
|
return addMinutes(parse, minutes);
|
} catch (ParseException e) {
|
return null;
|
}
|
}
|
|
/**
|
* 天数取整
|
*
|
* @param date
|
* @param day
|
* @return
|
*/
|
public static Date integralDay(Date date, Integer day) {
|
if (date == null || day == null) {
|
return null;
|
}
|
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)));
|
return addDay(parse, day);
|
} catch (ParseException e) {
|
return null;
|
}
|
}
|
|
/**
|
* 日期相加减
|
*
|
* @param time
|
* 时间字符串 yyyy-MM-dd HH:mm:ss
|
* @param num
|
* 加的数,-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);
|
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTime(time);
|
calendar.add(Calendar.YEAR, num);
|
Date newTime = calendar.getTime();
|
return newTime;
|
}
|
|
public static boolean isValidDate(String str) {
|
boolean convertSuccess = true;
|
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
|
try {
|
format.setLenient(false);
|
format.parse(str);
|
} catch (ParseException e) {
|
convertSuccess = false;
|
}
|
return convertSuccess;
|
}
|
|
public static Date toValidDate(String str) {
|
Date date = null;
|
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
|
try {
|
format.setLenient(false);
|
date = format.parse(str);
|
} catch (ParseException e) {
|
log.error("党员导入日期格式错误");
|
date = new Date();
|
}
|
return date;
|
}
|
|
/**
|
* 将日期对象格式化成yyyy-MM-dd格式的字符串
|
*
|
* @param date
|
* 日期对象
|
* @return String
|
*/
|
public static String getDateStringYMD(Date date) {
|
|
String dateString = "";
|
if (date != null) {
|
dateString = yyyyMMdd_format.format(date);
|
}
|
return dateString;
|
}
|
|
/**
|
* 获取当前月第一天
|
*
|
* @return
|
*/
|
public static Date getFirstDayOfMonth() {
|
Calendar cal = Calendar.getInstance();
|
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);
|
return cal.getTime();
|
}
|
|
/**
|
* 获取当前年月的第一天时间
|
*
|
* @param year
|
* 年份
|
* @param month
|
* 月份
|
* @return 时间
|
*/
|
public static Date getYearMonthStart(Integer year, Integer month) {
|
Calendar cal = Calendar.getInstance();
|
// 设置年份
|
cal.set(Calendar.YEAR, year);
|
// 设置月份
|
cal.set(Calendar.MONTH, month - 1);
|
// 获取某月最小天数
|
int firstDay = cal.getMinimum(Calendar.DATE);
|
// 设置日历中月份的最小天数
|
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);
|
return cal.getTime();
|
}
|
|
/**
|
* 获取当前年月的最后一天时间
|
*
|
* @param year
|
* 年份
|
* @param month
|
* 月份
|
* @return 时间
|
*/
|
public static Date getYearMonthEnd(Integer year, Integer month) {
|
Calendar cal = Calendar.getInstance();
|
// 设置年份
|
cal.set(Calendar.YEAR, year);
|
// 设置月份
|
cal.set(Calendar.MONTH, month - 1);
|
// 获取某月最大天数
|
int lastDay = cal.getMaximum(Calendar.DATE);
|
// 设置日历中月份的最大天数
|
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);
|
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);
|
}
|
|
/**
|
* 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());
|
|
}
|
}
|