1.Calendar demo例子
Java Calendar 类时间操作,示范代码。
public class CalendarDemo {
private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
public static void main(String[] args) { //获取calendar实例;
Calendar calendar = Calendar.getInstance(); //判断calendar是不是GregorianCalendar类的实例;
if(calendar instanceof GregorianCalendar){
System.out.println("属于GregorianCalendar类的实例!");
} //从calendar对象中获得date对象,当前时间;
Date dates = calendar.getTime(); //格式化时间;
String date_str= date_format.format(dates);
System.out.println(date_str); //设置月份05;代表日历的月份6月,因为月份从0开始。
calendar.set(Calendar.MONTH, 05); int months = calendar.get(Calendar.MONTH);
System.out.println(months); //输出05; //设置日期为2011-07-24 09:59:50
calendar.set(2011, 06, 24, 9, 59, 50);
String getDate = date_format.format(calendar.getTime());
System.out.println(getDate); //输出2011-07-24 09:59:50; //比较日前大小;
if(new Date().getTime() > calendar.getTimeInMillis()){
System.out.println("当前日期在后!");
}else{
System.out.println("当前日期在前!");
} //设置当前时间为:2011-07-24 11:06:00
calendar.setTime(new Date());
int year = calendar.get(Calendar.YEAR); //获取年;
int month = calendar.get(Calendar.MONTH); //获取月;
int date = calendar.get(Calendar.DATE); //获取天;
int hour = calendar.get(Calendar.HOUR); //获取小时;
int minute = calendar.get(Calendar.MINUTE); //获取分钟;
int second = calendar.get(Calendar.SECOND); //获取秒钟;
int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY); //第几个小时,
int day_of_month = calendar.get(Calendar.DAY_OF_MONTH); //这天,在一个月内是第几天.
int day_of_week = calendar.get(Calendar.DAY_OF_WEEK); //这天,在一周内,是第几天.
int day_of_year = calendar.get(Calendar.DAY_OF_YEAR); //这天,在一年内,是第几天。
int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR); //这周,在一年内是第几周;
int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);//这周,在这个月是第几周;以以星为标准;
int zone_offset = calendar.get(Calendar.ZONE_OFFSET); //获取时区;
int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); //某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准
int r = calendar.get(Calendar.AM_PM);
if(r==calendar.AM){
System.out.println("现在是上午");
} if(r==calendar.PM){
System.out.println("现在是下午");
}
System.out.println("==================================================");
System.out.println(year);
System.out.println(month);
System.out.println(date);
System.out.println(hour);
System.out.println(minute);
System.out.println(second);
System.out.println(hour_of_day);
System.out.println(day_of_month);
System.out.println(day_of_week);
System.out.println(day_of_year);
System.out.println(week_of_year);
System.out.println(week_of_month);
System.out.println(zone_offset);
System.out.println(day_of_week_in_month);
}
}
2.项目中应用
@RequestMapping(method = RequestMethod.GET, produces = { "application/json" })
@ResponseBody
public ListWithTotalCount<AuctionsDTO> aucLotQuery(@ModelAttribute("selectedAgency") SysAgencyDto selectedAgency,
int page, int rows, String order, String sort) {
Pageable pageable;
String agencyId = selectedAgency.getId().toString(); if (sort != null && !sort.isEmpty()) {
pageable = new PageRequest(page - 1, rows, Direction.fromStringOrNull(order), sort);
} else {
pageable = new PageRequest(page - 1, rows);
} Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date less = cal.getTime();
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.set(Calendar.MILLISECOND, 999);
Date great = cal.getTime();
Specification<Auction> spec = (root, query, cb) -> {
List<Predicate> predicates = new ArrayList<Predicate>(); if (agencyId != null && !agencyId.isEmpty() && !"0".equals(agencyId)) {
Predicate predicate = cb.equal(root.get(Auction_.agencyId), agencyId);
predicates.add(predicate);
} Predicate published = cb.equal(root.get(Auction_.isPublished), Auction.AUCLOT_ISPUBLISHED_FINISH);
predicates.add(published);
//获取当天的检索条件
Predicate time =cb.between(root.get(Auction_.startTime),less,great);
predicates.add(time); return cb.and(predicates.toArray(new Predicate[0]));
}; Page<Auction> pageresult = auctionRepository.findAll(spec, pageable);
List<AuctionsDTO> dtoList = (new AuctionsDTOAssembler()).toDTOList(pageresult.getContent()); return new ListWithTotalCount<AuctionsDTO>(dtoList, (int) pageresult.getTotalElements());
}