当前位置: 代码迷 >> 综合 >> Java中Calendar常用方法总结
  详细解决方案

Java中Calendar常用方法总结

热度:15   发布时间:2024-02-27 02:12:54.0

 

方法名 说明
public int get(int field) 返回给定日历字段的值
public abstract void add(int field, int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date) 设置当前日历的年月日

 public int get(int field):返回给定日历字段的值

        Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH) + 1;int date = c.get(Calendar.DATE);System.out.println(year + "年" + month + "月" + date + "日");

 public abstract void add(int field, int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段
 需求1:                                                                                                       3年前的今天

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,-3);
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH) + 1;
date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

需求2:                                                                                                 10年后的10天前 

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,10);
c.add(Calendar.DATE,-10);
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH) + 1;
date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

public final void set(int year,int month,int date):设置当前日历的年月日 

Calendar c = Calendar.getInstance();
c.set(2050,10,10);
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH) + 1;
date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

 

二月天案例(应用)

 

public class CalendarTest {public static void main(String[] args) {//键盘录入任意的年份Scanner sc = new Scanner(System.in);System.out.println("请输入年:");int year = sc.nextInt();//设置日历对象的年、月、日Calendar c = Calendar.getInstance();//月份从0开始算c.set(year, 2, 1);//3月1日往前推一天,就是2月的最后一天c.add(Calendar.DATE, -1);//获取这一天输出即可int date = c.get(Calendar.DATE);System.out.println(year + "年的2月份有" + date + "天");}
}
// 使用默认时区和语言环境获得一个日历Calendar cal = Calendar.getInstance();// 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1System.out.println("年:" + cal.get(Calendar.YEAR));System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));       System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));System.out.println("分:" + cal.get(Calendar.MINUTE));System.out.println("秒:" + cal.get(Calendar.SECOND));

今天是 2018 年 2 月 12 日,运行结果:

年:2018
月:2
日:12
时:15
分:57
秒:39
//获取当前时刻yyyy-MM-dd HH:mm:ssCalendar calendar = Calendar.getInstance();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式String now = sdf.format(calendar.getTime());System.out.println(now);
//获取上个月yyyy-MM
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
String lastMonth = new SimpleDateFormat("yyyy-MM").format(calendar.getTime());
System.out.println(lastMonth);
//获取昨天yyyy-MM-dd
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
String yesterday = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
System.out.println(yesterday);