java日期时间相关
SimpleDateFormat sdf = new SimpleDateFormat();
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); //近一个月
date = calendar.getTime();
sdf.format(date); //现在的时间
sdf.applyPattern("yyyy-MM-dd 00:00:00"); //今天
sdf.format(date);
sdf.applyPattern("yyyy-01-01 00:00:00"); //今年
sdf.format(date);
timestamp
import java.sql.Timestamp;
Timestamp t1 = Timestamp.valueOf("2020-03-05 00:00:00");
Timestamp t2 = Timestamp.valueOf("2020-03-06 00:00:00");
Long t3= t1.getTime();
Long t4= t2.getTime();
if(t3>t4){
System.out.println(123);
}
else{
System.out.println(234);
}
timestamp转化为string
SimpleDateFormat format = new SimpleDateFormat("yyyy");
//截取前四位字符
String year = resources.getJfnd().substring(0,4);
//获取时间戳的年
String startYear = format.format(resources.getValidStart());
String endYear = format.format(resources.getValidEnd());
if(!year.equals(startYear) || !year.equals(endYear)){
throw new BadRequestException("时间不一致");
}
java获取当前年份、月份和日期字符串
首先创建一个Calendar类的实例对象,Calendar类属于java.util包
Calendar calendar = Calendar.getInstance();
获取当前年份、月份和日期
// 获取当前年
int year = calendar.get(Calendar.YEAR);
//若只获取一个时间可以直接写 Calendar.getInstance().get(Calendar.YEAR);
// 获取当前月
int month = calendar.get(Calendar.MONTH) + 1;
// 获取当前日
int day = calenedar.get(Calendar.DATE);
// 获取当前小时
int hour = calendar.get(Calendar.HOUR_OF_DAY);
// 获取当前分钟
int minute = calendar.get(Calendar.MINUTE);
// 获取当前秒
int second = calendar.get(Calendar.SECOND);
// 获取当前是本周第几天
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 获取当前是本月第几天
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
// 获取当前是本年第几天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
获取当月的第一天和最后一天
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
// 获取当月第一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
String firstday = format.format(calendar.getTime());
// 获取当月最后一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
String lastday = format.format(calendar.getTime());
当前日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
String today = format.format(date);
时间戳转date
//TimeStamp可以当作date用
private Timestamp payOrderDate;
DateUtil.format(heatOrder.getPayOrderDate(), "yyyy-MM-dd HH:mm:ss")
/**
* 根据特定格式格式化日期
*
* @param date 被格式化的日期
* @param format 日期格式,常用格式见: {@link DatePattern}
* @return 格式化后的字符串
*/
public static String format(Date date, String format) {
if (null == date || StrUtil.isBlank(format)) {
return null;
}
final SimpleDateFormat sdf = new SimpleDateFormat(format);
if (date instanceof DateTime) {
final TimeZone timeZone = ((DateTime) date).getTimeZone();
if (null != timeZone) {
sdf.setTimeZone(timeZone);
}
}
return format(date, sdf);
}