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(); }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论