通过例子快速使用java的calendar类

1.获取目前时间,get方法

        Calendar c=Calendar.getInstance();//获取一个日历类的实例//获取当前时间int year=c.get(Calendar.YEAR);//获取电脑时间现在是哪一年,想改哪年就改哪年。int month = c.get(Calendar.MONTH)+1;//获取月,值为0-11,真实月份需加1int day = c.get(Calendar.DATE);//获取日int hour = c.get(Calendar.HOUR_OF_DAY);//获取时,默认24小时制int minute = c.get(Calendar.MINUTE);//获取分int second = c.get(Calendar.SECOND);//获取秒System.out.println(year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");

2.设置目标时间,set方法

2.1快捷设置
        //快捷设置c.set(1998,5,2);//设置一个日历,年月日,真实月是+1的,所以其实这设置的是6月c.set(1998,5,2,5,36);//年月日时分c.set(1998,5,2,5,36,55);//年月日时分秒
2.2逐个设置
        //逐个设置,不设置的获取的话就是直接获取电脑上的时间c.set(Calendar.YEAR, 1998);//设置年c.set(Calendar.MONTH, 5);//设置月,这是6月c.set(Calendar.DATE, 2);//设置日c.set(Calendar.HOUR_OF_DAY, 5);//设置时c.set(Calendar.MINUTE, 36);//设置分c.set(Calendar.SECOND, 55);//设置秒

3.增加时间,add方法

        //测试add方法,数字正负都无所谓c.add(Calendar.YEAR, 30);//加到个石油消失年c.add(Calendar.MONTH, 12);//加12就变回现在的月,并不会报错c.add(Calendar.DATE, 367);//这是按照今年的日来计算了,我这一年刚好闰年,加366天还是29号,这是个坑要慎用c.add(Calendar.HOUR_OF_DAY, 24);//加多少个小时,过了24小时自动余24c.add(Calendar.MINUTE, 60);//加多少分钟,过了60分钟自动余60c.add(Calendar.SECOND, 61);//加多少秒,过了60自动余60

4.其他常用

        Calendar c=Calendar.getInstance();//获取一个日历类的实例int zhouji = c.get(Calendar.DAY_OF_WEEK);//获取今天是周几,周日是1,周六是7int this_month_max_day = c.getActualMaximum(Calendar.DAY_OF_MONTH);//获取这个月最多有多少天Date date = c.getTime();//获取一个date类,打印为Sat Feb 29 15:08:02 CST 2020

5.其他常用

5.1 今天是周几
        Calendar c=Calendar.getInstance();//获取一个日历类的实例//查看今天是周几int zhouji = c.get(Calendar.DAY_OF_WEEK);//获取这个月的第一天是周几,周日是1,周六是7if (zhouji==1){zhouji=7;}else{zhouji=zhouji-1;}System.out.println("今天是周"+zhouji);

测试结果

5.2 当月第一天是周几
        //获取当月第一天是周几//1.先把时间设置为这个月的第一天Calendar c=Calendar.getInstance();//获取一个日历类的实例c.set(Calendar.YEAR, 2020);//年月可以不设置,但是为了方便更换。c.set(Calendar.MONTH, 1);//今天是2020年2月29日,设置1就是2月的意思,这是0-11月制的c.set(Calendar.DATE, 1);//设置为当月第一天//2.获取这天为周几int zhouji = c.get(Calendar.DAY_OF_WEEK);//获取这个月的第一天是周几,周日是1,周六是7if (zhouji==1){zhouji=7;}else{zhouji=zhouji-1;}//3.得到本月第一天是周几,如果要做日历的话前面空的就只需要让周几-1System.out.println("本月第一天是周"+zhouji);

测试结果

5.3 根据输入日期打印日期表
import java.util.Calendar;
import java.util.Scanner;public class TestCalendar {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入年份");int year = scanner.nextInt();System.out.println("请输入月份");int month = scanner.nextInt();Calendar calendar=Calendar.getInstance();calendar.set(Calendar.YEAR, year);calendar.set(Calendar.MONTH,month-1);//要设置为输入的-1,因为是0-11制的write(calendar);}//因为太乱,所以定义一个方法会好一点public static void write(Calendar calendar) {int a=0;System.out.println("--------------------"+calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月-------------------");System.out.println("一\t二\t三\t四\t五\t六\t日");//获取当月第一天是周几calendar.set(Calendar.DATE, 1);int zhouji = calendar.get(Calendar.DAY_OF_WEEK);//获取这个月的第一天是周几,周日是1,周六是7if (zhouji==1){zhouji=7;}else{zhouji=zhouji-1;}//打印空制表符for (int j = 1; j < zhouji; j++) {System.out.print("\t");a++;}for (int j = 1; j <= calendar.getActualMaximum(Calendar.DAY_OF_MONTH); j++) {System.out.print(j+"\t");a++;if (a%7==0) {//从空制表符开始每7个就换行System.out.println();}}}
}

测试结果1:

测试结果2:

总结

  • 虽然这很不起眼,但是每次我写日历类都要百度搜,所以如今写博客还不如把这些常用的比如calendar,date,string,map,list都写一遍,以后好翻阅查看,记是不可能记的,这辈子都不可能记的,只有谢谢博客混混日子的样子了,网上的各位都是人才,点个赞不过分吧。

Java的Calendar类怎么用相关推荐

  1. 【零基础学Java】—Calendar类(三十四)

    [零基础学Java]-Calendar类(三十四) java.util.Calendar日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方法 Calendar类无法直接创建对象,里 ...

  2. JAVA中Calendar类的常用方法

    Calender类 java.util.Calendar类:日历类 Canlender类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR.Months.day_OF_MNTH.HOUR) Ca ...

  3. Java的calendar类用法

    YEAR  这是哪年 MONTH  这是月(从0开始) WEEK_OF_YEAR 今年的第几星期 WEEK_OF_MONTH 这个月的第几星期(从一开始) DATE  今天几号 DAY_OF_MONT ...

  4. JAVA当中Calendar类打印日历表单

    一:引言 代码当中注释很详尽,直接上码: 二:上码 package cn.wyj.one;import java.text.DateFormat; import java.text.ParseExce ...

  5. Java Date Calendar类的使用 如何计算两个日期之间有多少天

    Java工具类:java.util.Date,是Java中经常被用到一个日期时间的类.可以用来表示具体的年月日时分秒.java.util.Calendar,是日历类 导包:import java.ut ...

  6. 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...

  7. java基础---Calendar类

    package com.henu;import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;import java.text.Si ...

  8. 日期 java cal,日期系列教材 (三)- 如何使用Java的Calendar类

    代码比较 复制代码 package date; import java.text.SimpleDateFormat; // import java.util.Calendar; import java ...

  9. Java中Calendar类基本用法

    Calendar import java.util.Calendar;public class _Calendar {public static void main(String[] args) {/ ...

最新文章

  1. 使用球面目标自动标定雷达-相机外参
  2. 任务间共享资源问题总结
  3. 使用 Eclipse 建立包的时候,“name”下可选项“Create package-info.java”的作用是什么?
  4. Maven 父子工程出现 [ERROR] 'dependencies.dependency.version' for xxxjar is missing. 问题
  5. python中的模块调用_Python中模块互相调用的例子
  6. 前台ajax请求php后台返回成功却进error方法解决
  7. JAVA中pin什么意思_银行业加密算法,PIN相关算法(java-国密)
  8. Asp.net页面传值
  9. matlab 反应谱,matlab绘制反应谱
  10. 哈夫曼树的构造和哈夫曼编码实现详细讲解(含例题详细讲解)
  11. 如何利用计算机截屏快捷键,电脑怎么截图 电脑选区域截图怎么截 电脑截图快捷键是什么...
  12. 一场面试过后—移动前端开发
  13. ThoughtWorks培训感想
  14. python 如何识别字符串中的人名 ,如何识别一串拼音字符串以及韵母的提取 (一些方法整理)
  15. 创智汇集,汉韵流芳!大创智国风汉服赏与您相约十月
  16. ORDER: OpenWorld Object Detection on Road Scenes
  17. 通俗易懂解释汉明码(附MATLAB实现代码)
  18. 笔记:物化的技术进步
  19. [小知识] Copyright该如何写?
  20. 网址转换为ip(数字)地址

热门文章

  1. 【英语-同义词汇词组】enlighten | inspire 表示【启发】时的用法及区别
  2. 怎么用centos7运行c语言程序_centos如何编译c语言代码
  3. MathJax详细配置——在线显示LaTeX公式的解决方案
  4. iOS 屏幕尺寸、逻辑分辨率、物理分辨率之间的相互关系
  5. 服务器如何修改密码复杂度,服务器密码策略
  6. 服务器Windows系统基本安全策略配置
  7. 什么时候用p标签,什么时候用li标签
  8. max-width 无效的解决方法
  9. 盘点游戏中那些“欺骗玩家眼睛的开发技巧”
  10. 对公司各种不知情,这合适吗?扎克伯格国会听证会回顾