开发过程中,有时需要对日期的操作,每次都是上网百度,今天将常用的操作总结如下,不足的地方请各位指正、后期继续完善
获取当前时间
Calendar calendar = Calendar.getInstance();
①System.out.println(now);
Date now = new Date();
②System.out.println(calendar.getTime());
①和②的结果一样
Wed Jun 13 15:25:03 CST 2018
对当前时间进行格式化(返回的是String字符串)
Calendar calendar = Calendar.getInstance();
Date nowDt = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(nowDt));
System.out.println(sdf2.format(nowDt));
结果如下:
2018-06-13
2018-06-13 15:45:43
获取当前时间的年月日时分秒
Calendar calendar = Calendar.getInstance();
// 年
int year = calendar.get(Calendar.YEAR);
// 月
int month = calendar.get(Calendar.MONTH);
// 日
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 时(12小时制)
int hour = calendar.get(Calendar.HOUR);
// 时(24小时制)
int hour2 = calendar.get(Calendar.HOUR_OF_DAY);
// 分
int minute = calendar.get(Calendar.MINUTE);
// 秒
int second = calendar.get(Calendar.SECOND);
date型日期和String日期转换
date to string sdf.format(nowDt);
string to date sdf.parse(dtStr);
dtStr的格式不同,使用的sdf也不同
日期加减
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dtStr = "2018-06-13 13:25:55";
calendar.setTime(dtNow);
加法
// 年
calendar.add(Calendar.YEAR, 1);
// 月
calendar.add(Calendar.MONTH, 1);
// 日
calendar.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(sdf2.format(calendar.getTime()));
输出结果
2019-07-14 13:25:55
减法
// 年
calendar.add(Calendar.YEAR, -1);
// 月
calendar.add(Calendar.MONTH, -1);
// 日
calendar.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(sdf2.format(calendar.getTime()));
输出结果
2017-05-12 13:25:55