Java的Calendar类怎么用
通过例子快速使用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类怎么用相关推荐
- 【零基础学Java】—Calendar类(三十四)
[零基础学Java]-Calendar类(三十四) java.util.Calendar日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方法 Calendar类无法直接创建对象,里 ...
- JAVA中Calendar类的常用方法
Calender类 java.util.Calendar类:日历类 Canlender类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR.Months.day_OF_MNTH.HOUR) Ca ...
- Java的calendar类用法
YEAR 这是哪年 MONTH 这是月(从0开始) WEEK_OF_YEAR 今年的第几星期 WEEK_OF_MONTH 这个月的第几星期(从一开始) DATE 今天几号 DAY_OF_MONT ...
- JAVA当中Calendar类打印日历表单
一:引言 代码当中注释很详尽,直接上码: 二:上码 package cn.wyj.one;import java.text.DateFormat; import java.text.ParseExce ...
- Java Date Calendar类的使用 如何计算两个日期之间有多少天
Java工具类:java.util.Date,是Java中经常被用到一个日期时间的类.可以用来表示具体的年月日时分秒.java.util.Calendar,是日历类 导包:import java.ut ...
- 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数
计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...
- java基础---Calendar类
package com.henu;import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;import java.text.Si ...
- 日期 java cal,日期系列教材 (三)- 如何使用Java的Calendar类
代码比较 复制代码 package date; import java.text.SimpleDateFormat; // import java.util.Calendar; import java ...
- Java中Calendar类基本用法
Calendar import java.util.Calendar;public class _Calendar {public static void main(String[] args) {/ ...
最新文章
- 使用球面目标自动标定雷达-相机外参
- 任务间共享资源问题总结
- 使用 Eclipse 建立包的时候,“name”下可选项“Create package-info.java”的作用是什么?
- Maven 父子工程出现 [ERROR] 'dependencies.dependency.version' for xxxjar is missing. 问题
- python中的模块调用_Python中模块互相调用的例子
- 前台ajax请求php后台返回成功却进error方法解决
- JAVA中pin什么意思_银行业加密算法,PIN相关算法(java-国密)
- Asp.net页面传值
- matlab 反应谱,matlab绘制反应谱
- 哈夫曼树的构造和哈夫曼编码实现详细讲解(含例题详细讲解)
- 如何利用计算机截屏快捷键,电脑怎么截图 电脑选区域截图怎么截 电脑截图快捷键是什么...
- 一场面试过后—移动前端开发
- ThoughtWorks培训感想
- python 如何识别字符串中的人名 ,如何识别一串拼音字符串以及韵母的提取 (一些方法整理)
- 创智汇集,汉韵流芳!大创智国风汉服赏与您相约十月
- ORDER: OpenWorld Object Detection on Road Scenes
- 通俗易懂解释汉明码(附MATLAB实现代码)
- 笔记:物化的技术进步
- [小知识] Copyright该如何写?
- 网址转换为ip(数字)地址
热门文章
- 【英语-同义词汇词组】enlighten | inspire 表示【启发】时的用法及区别
- 怎么用centos7运行c语言程序_centos如何编译c语言代码
- MathJax详细配置——在线显示LaTeX公式的解决方案
- iOS 屏幕尺寸、逻辑分辨率、物理分辨率之间的相互关系
- 服务器如何修改密码复杂度,服务器密码策略
- 服务器Windows系统基本安全策略配置
- 什么时候用p标签,什么时候用li标签
- max-width 无效的解决方法
- 盘点游戏中那些“欺骗玩家眼睛的开发技巧”
- 对公司各种不知情,这合适吗?扎克伯格国会听证会回顾