java中,我们可以使用calendar类来进行日期的加减操作。
常见的方法如下:
获取当前日期
calendar calendar = calendar.getinstance(); date date = calendar.gettime();
日期加减
// 加一天 calendar.add(calendar.day_of_month, 1); // 减一天 calendar.add(calendar.day_of_month, -1); // 加一小时 calendar.add(calendar.hour_of_day, 1); // 减一小时 calendar.add(calendar.hour_of_day, -1); // 加一分钟 calendar.add(calendar.minute, 1); // 减一分钟 calendar.add(calendar.minute, -1);
获取指定日期的某个字段值
// 获取年份 int year = calendar.get(calendar.year); // 获取月份(注意:月份从0开始,所以需要加1) int month = calendar.get(calendar.month) + 1; // 获取日期 int day = calendar.get(calendar.day_of_month); // 获取小时 int hour = calendar.get(calendar.hour_of_day); // 获取分钟 int minute = calendar.get(calendar.minute); // 获取秒 int second = calendar.get(calendar.second);
获取指定日期的某个字段的最大值
// 获取当前月份的最大天数 int maxday = calendar.getactualmaximum(calendar.day_of_month);
1、simpledateformat类
date date = new date();
simpledateformat spf = new simpledateformat("yyyy年-mm月-dd日:hh时-mm分-ss秒");
system.out.println(spf.format(date));
//输出为:
2021年-7月-14日:17时-15分-53秒
2、calendar类
package com.hp.date;
import java.text.simpledateformat;
import java.util.calendar;
import java.util.date;
public class calendardemo{
public static void main(string[] args) throws exception {
//获取获取系统的当前日历对象
calendar instance = calendar.getinstance();
//1、获取今天是周几
int weekday = instance.get(calendar.day_of_week);
system.out.println("今天是周:" + (weekday - 1));
//2、获取系统当前年
int year = instance.get(calendar.year);
system.out.println("今年是:" + year + "年");
//3、获取系统当前月
int month = instance.get(calendar.month);
system.out.println("本月是:" + (month + 1) + "月");
//4、获取系统当前日
int day = instance.get(calendar.date);
system.out.println("今天是" + day + "号");
//5、获取上午跟下午
int am_pm = instance.get(calendar.am_pm);
if (am_pm == 0)
system.out.println("是上午");
else
system.out.println("是下午");
//6、获取当前的系统时间[date-->string]的过程
date time = instance.gettime();//获取的是当前系统的时间
simpledateformat format = new simpledateformat("yyyy-mm-dd hh:mm:ss sss");
string showtime = format.format(time);
system.out.println("当前系统时间为:" + showtime);
//7、自定义日历的时间
string strtime = "2021-07-07";
date date = new simpledateformat("yyyy-mm-dd").parse(strtime);
instance.settime(date);//将时间对象data设置为新的日历
system.out.println("修改后的系统时间为:" + new simpledateformat("yyyy-mm-dd hh:mm:ss sss").format(instance.gettime()));
}
system.out.println("------------calendar和date转换------------");
date now = calendar.gettime();
calendar.settime(now);
system.out.println("------------calendar日期计算以及判断------------");
calendar = new gregoriancalendar();
calendar calendar2 = new gregoriancalendar();
calendar2.set(calendar.year, 2800);
//是否在某个时间(calendar2)之后
system.out.println(calendar.after(calendar2));
//是否在某个时间(calendar2)之前
system.out.println(calendar.before(calendar2));
//增加多少年年,月日以及时分秒同理
calendar.add(calendar.year, -10);
}
}
3、异常调试
同时在调用parse这个方法时,会出现异常,
try {
} catch (parseexception e) {
e.printstacktrace();
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论