package cn.wildfire.chat.kit;
|
|
import java.text.DecimalFormat;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
|
/**
|
* @author kimi
|
* @description
|
* @date 2021-01-08 16:24
|
*/
|
|
|
public class DateFormat {
|
|
public static DayCompare dayComparePrecise(Date fromDate, Date toDate){
|
Calendar from = Calendar.getInstance();
|
from.setTime(fromDate);
|
Calendar to = Calendar.getInstance();
|
to.setTime(toDate);
|
|
int fromYear = from.get(Calendar.YEAR);
|
int fromMonth = from.get(Calendar.MONTH);
|
int fromDay = from.get(Calendar.DAY_OF_MONTH);
|
|
int toYear = to.get(Calendar.YEAR);
|
int toMonth = to.get(Calendar.MONTH);
|
int toDay = to.get(Calendar.DAY_OF_MONTH);
|
int year = toYear - fromYear;
|
int month = toMonth - fromMonth;
|
int day = toDay - fromDay;
|
DayCompare dayCompare =new DayCompare();
|
dayCompare.setDay(day);
|
dayCompare.setMonth(month);
|
dayCompare.setYear(year);
|
return dayCompare;
|
}
|
|
public static int yearCompare(Date fromDate, Date toDate){
|
DayCompare result = dayComparePrecise(fromDate, toDate);
|
double month = result.getMonth();
|
double year = result.getYear();
|
//返回2位小数,并且四舍五入
|
DecimalFormat df = new DecimalFormat("######0.0");
|
String format = df.format(year + month / 12);
|
double dou = Double.parseDouble(format);
|
double floor = Math.floor(dou);
|
int i = (int) floor;
|
return i;
|
}
|
|
/**
|
* 获取当前时间戳
|
*/
|
public static long getCurrentMillis() {
|
return System.currentTimeMillis();
|
}
|
|
/*
|
* 将时间转换为时间戳
|
*/
|
public static long dateToStamp(String s) throws ParseException {
|
String res;
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
Date date = simpleDateFormat.parse(s);
|
long ts = date.getTime();
|
return ts;
|
}
|
|
|
/*
|
* 将时间戳转换为时间
|
*/
|
public static String stampToStandTime(long s){
|
String res;
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
long lt = new Long(s);
|
Date date = new Date(lt);
|
res = simpleDateFormat.format(date);
|
return res;
|
}
|
|
|
/*
|
* 将时间戳转换为时间
|
*/
|
public static String dateToDotDate(String s) throws ParseException {
|
long l = dateToStamp(s);
|
return stampToDotDate(l);
|
}
|
|
|
/*
|
* 将时间戳转换为时间
|
*/
|
public static String stampToDotDate(long s){
|
String res;
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
|
long lt = new Long(s);
|
Date date = new Date(lt);
|
res = simpleDateFormat.format(date);
|
return res;
|
}
|
|
/*
|
* 将时间戳转换为时间
|
*/
|
public static String stampToDotTime(long s){
|
String res;
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
|
long lt = new Long(s);
|
Date date = new Date(lt);
|
res = simpleDateFormat.format(date);
|
return res;
|
}
|
|
public static class DayCompare {
|
private int year;
|
private int month;
|
private int day;
|
|
public DayCompare() {
|
}
|
|
public DayCompare(int year, int month, int day) {
|
this.year = year;
|
this.month = month;
|
this.day = day;
|
}
|
|
public int getYear() {
|
return year;
|
}
|
|
public void setYear(int year) {
|
this.year = year;
|
}
|
|
public int getMonth() {
|
return month;
|
}
|
|
public void setMonth(int month) {
|
this.month = month;
|
}
|
|
public int getDay() {
|
return day;
|
}
|
|
public void setDay(int day) {
|
this.day = day;
|
}
|
|
@Override
|
public String toString() {
|
return "DayCompare{" +
|
"year=" + year +
|
", month=" + month +
|
", day=" + day +
|
'}';
|
}
|
}
|
|
}
|