最近项目中Date类型遇到的比较到,因为刚开始做项目,算是刚认真接触Date类型相关的一些东西, 之前写了一个日期的选择器,大部分是freemarker中的问题,这次要记得问题大部分都是写java后台时的。
1、格式转换
Thu Sep 07 10:50:00 CST 2017 date的默认显示格式,从数据库中取出的就是这样。
可以把默认格式转换成方便阅读或者更直观的显示:
SimpleDateFormat 是Java中关于日期格式转换非常常用的一个类,主要用于来对日期字符串进行解析和格式化输出。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = dateFormat.format(date);
把一个默认格式的date类型转换为指定格式的日期字符串
String dateString = "2017.9.29 08:23:21";
Date d = null;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss");
try {
d = dateFormat.parse(dateString);
} catch (ParseException pe) {
System.out.println(pe.getMessage());
}
System.out.println(d);
System.out.println(d.getTime());
把String型的字符串转换成特定格式的date类型
2、对List中的date类型进行排序(根据list中的date类型排序这个list)
参考:
我的代码:
public List<MeetingSchedule> sortList(List<MeetingSchedule> meetingScheduleList) {
Collections.sort(meetingScheduleList, new Comparator<MeetingSchedule>() {
@Override
public int compare(MeetingSchedule o1, MeetingSchedule o2) {
try {
Date startTime = o1.getStartTime();
Date startTime1 = o2.getStartTime();
// 比较两个日期的大小
if (startTime.getTime() > startTime1.getTime()) {
return 1;
} else if (startTime.getTime() < startTime1.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
});
return meetingScheduleList;
}