java时间相关
博主所有博客都是验证过的
获取一个时间的时间戳
//获取当前时间戳
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
long timestamp1 = cal1.getTimeInMillis();
计算两个时间相差几天几小时几秒
//计算两个时间相差几天几小时几秒
public static String getTimeDiff(String date) {
if (ObjectUtils.isEmpty(date)) {
return "";
}
StringBuilder sb = new StringBuilder();
try {
SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = mDateFormat.parse(date);
Date now = new Date();
// 这样得到的差值是微秒级别
long diff = parse.getTime() - now.getTime();
// 只能精确到日 无法具细到年 月 不能确定一个月具体多少天 不能确定一年具体多少天
// 获取日
long day = diff / (1000 * 60 * 60 * 24);
diff = diff % (1000 * 60 * 60 * 24);
if (day > 0) {
sb.append(day).append("天");
}
// 获取时
long hour = diff / (1000 * 60 * 60);
diff = diff % (1000 * 60 * 60);
if (hour > 0) {
sb.append(hour).append("时");
}
// 获取分
long min = diff / (1000 * 60);
diff = diff % (1000 * 60);
if (min > 0) {
sb.append(min).append("分");
}
// 获取秒
long sec = diff / 1000;
if (sec > 0) {
sb.append(sec).append("秒");
}
return sb.toString();
} catch (ParseException e) {
return "";
}
}
获取一个日期是周几
//获取当前时间是周几
private static int getWeek() {
Integer week =0;
Date today = new Date();
Calendar c = Calendar.getInstance();
c.setTime(today);//当前设置的是系统时间,你可以自定义时间
int weekday = c.get(Calendar.DAY_OF_WEEK);
if (weekday == 1) {
week = 7;
} else if (weekday == 2) {
week = 1;
} else if (weekday == 3) {
week = 2;
} else if (weekday == 4) {
week = 3;
} else if (weekday == 5) {
week = 4;
} else if (weekday == 6) {
week = 5;
} else if (weekday == 7) {
week = 6;
}
return week;
}
获取当前时间的周五的时间
//获取当前日期的周五的时间
private static Date getDateByType1(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 获得当前日期是一个星期的第几天
int dayOfWeek = Calendar.DAY_OF_WEEK;
System.out.println(dayOfWeek);
int dayWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
calendar.add(Calendar.DAY_OF_MONTH, -1);
}
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
calendar.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = calendar.get(Calendar.DAY_OF_WEEK);
int first = calendar.getFirstDayOfWeek();
// 计算周五的日期
calendar.add(Calendar.DAY_OF_WEEK, first - day + 4);
return calendar.getTime();
}