平时在开发中经常会遇到与时间相关的知识,平常用Date多一些,Calendar的话,就是写定时任务的时候获取指定时间会用!整理出来与大家一起学习!
Java将String类型时间转换为Date
代码示例:
String startTime ="2019-01-12 12:00:12";
String endTime ="2019-04-08 17:00:00";
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
Date startDate= format.parse(startTime);
Date endDate = format.parse(endTime);
System.out.println("startDate的值为 "+startDate);
System.out.println("endDate的值为 "+endDate);
Date获取前一天时间
date_sub(CURDATE(),interval 1 day)
Calendar获取指定时间
使用Calendar要引入依赖:
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
代码示例:
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar);//Calendar的月是0-11,故这里输出month=3
String format = DateFormatUtils.format(calendar.getTimeInMillis(), "yyyy-MM-dd HH:mm:ss");
System.out.println("format的值为 "+format);//format的值为 2019-04-08 17:28:41
calendar.set(Calendar.HOUR, 0);//将时设置为12
calendar.set(Calendar.MINUTE, 0);//将分钟设置为0
calendar.set(Calendar.SECOND, 0);//将秒设置为0
String format1 = DateFormatUtils.format(calendar.getTimeInMillis(), "yyyy-MM-dd HH:mm:ss");
System.out.println("format1的值为"+format1);//format1的值为2019-04-08 12:00:00
calendar.add(Calendar.MINUTE, 20);//将分钟推后20分钟
String format2 = DateFormatUtils.format(calendar.getTimeInMillis(), "yyyy-MM-dd HH:mm:ss");
System.out.println("format2的值为"+format2);//format2的值为2019-04-08 12:20:00
calendar.add(Calendar.DATE, 1);// 参数明天的就是1,昨天是负1
String format3 = DateFormatUtils.format(calendar.getTimeInMillis(), "yyyy-MM-dd HH:mm:ss");
System.out.println("format3的值为 "+format3);//format3的值为 2019-04-09 12:20:00
扫描关注下面二维码获得更多有用的资源!