实体类
private Date chargeTime;
@Override
public String toString() {
return "User [chargeTime=" + Time(chargeTime) + "]";
}
public String Time(Date date){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=df.format(date);
return time;
}
结果:[User [ chargeTime=2020-11-19 06:42:48]
获取当前系统时间
@Test
public void test(){
Date date = new Date();
System.out.println(date);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatDate = df.format(date);
System.out.println(formatDate);
}
结果:
Mon Nov 30 15:09:25 CST 2020
2020-11-30 15:09:25
String转Date
String dateStr = "2019-08-30 15:56:27";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
结果:Fri Aug 30 15:56:27 CST 2019
时间戳转String
long time = 1485178077000L;
//设置时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//转换为String格式
String dateStr = sdf.format(new Date(time));
System.out.println(dateStr);
结果:2017-01-23 21:27:57
String转时间戳
String strDate = "2017-01-23 21:27:57";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
long time = sdf.parse(strDate).getTime();
System.out.println(time);
} catch (ParseException e) {
e.printStackTrace();
}
结果:1485178077000
Date格式转时间戳
Date date = new Date();
long time = date.getTime();
System.out.println(time);
结果:1567156766484
时间戳转Date格式
long time = 1567156766484L;
Date date = new Date(time);
System.out.println(date);
结果:Fri Aug 30 17:19:26 CST 2019
CST字符串格式转Date格式、String格式、时间戳
String dateStr = "Fri Aug 30 15:56:27 CST 2019";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'CST' yyyy", Locale.ENGLISH);
try {
//转换Date格式
Date date = sdf.parse(dateStr);
System.out.println("date格式:" + date);
//转换时间戳格式
long time = date.getTime();
System.out.println("时间戳:" + time);
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//转换为String格式
String newStr = sdf.format(date);
System.out.println("String格式" + newStr);
} catch (ParseException e) {
e.printStackTrace();
}
结果:
GMT(格林威治时间)字符串格式转Date格式、String格式、时间戳 – CST格式
String stringDate = "Fri, 30 Aug 2019 09:39:07 GMT";
System.out.println("格林威治时间:" + stringDate);
//如果stringDate中没有‘,’号,格式转换中也不要加,保持一致
SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);
try {
//格林威治时间字符串转为Date格式 - 此Date是北京时间 GMT+8
Date date = sdf.parse(stringDate);
System.out.println("GMT+8 Date格式:" + date);
//格林威治时间字符串转为时间戳 - 此时间戳是北京时间 GMT+8
long time = date.getTime();
System.out.println("GMT+8 时间戳:" + time);
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格林威治时间字符串转为String字符串 - 此String字符串是北京时间 GMT+8
String newStr = sdf.format(date);
System.out.println("GMT+8 String格式:" + newStr);
} catch (ParseException e) {
e.printStackTrace();
}
结果:
GMT(格林威治时间)字符串格式转String格式 – 保持GMT格式
String stringDate = "Fri, Aug 30 09:39:07 GMT 2019";
System.out.println("格林威治时间:" + stringDate);
//如果stringDate中没有‘,’号,格式转换中也不要加,保持一致
SimpleDateFormat gmt = new SimpleDateFormat("EEE, MMM dd HH:mm:ss 'GMT' yyyy",Locale.ENGLISH);
try {
// GMT转换时间戳 - 此时间戳是格林威治时间
long gmtTime = gmt.parse(stringDate).getTime();
System.out.println("格林威治时间时间戳:" + gmtTime);
// 时间戳转换String字符串 - 此时间戳是格林威治时间
gmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String gmtString = gmt.format(new Date(gmtTime));
System.out.println("格林威治时间String字符串:" + gmtString);
} catch (ParseException e) {
e.printStackTrace();
}
结果:
时间是否大于24小时
String strDate = "2022-08-22 15:37:57";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long star = sdf.parse(strDate).getTime();
long end = new Date().getTime();
int days = (int) ((end- star)/(1000 * 60 * 60 * 24));
System.out.println(days);
//时间大于当天凌晨,小于当天23:59:59的时间
Date start = DateUtil.strToDateLong(DateUtil.dateToStr(new Date(), Locale.CHINA) + " 00:00:00");
Date end = DateUtil.strToDateLong(DateUtil.dateToStr(new Date(), Locale.CHINA) + " 23:59:59");
SimpleDateFormat参数对照表