Java时间与日期类(Calendar类的方法应用与打印日历)
Java时间与日期类(Calendar类的方法应用与打印日历)
日期与时间类
(以下所有文字和代码均为手敲,原本应该昨天已经写好了一半了。没想到一关机自动保存的都不见了,然后今天再敲一遍【有什么不对或者敲错的地方请各位大神指出】)
在实际应用中,经常需要用到时间和日期,Java提供了几个用于处理时间相关的类,Calendar就是其中之一。
Calendar类能够用于设置和获取日历字段值:年、月、日、时、分、秒。
该类是抽象类,通常通过使用 getInstance() 方法获得时间日期为系统时间的 Calendar 对象,get() 方法获取 Calendar 对象的时间分量; set() 方法设置时间分量。Calendar 的常用方法如表格所示。
Calendar类的常用方法
方法 | 描述 |
---|---|
static getInstance | 获取Calendar对象,该对象存储当前系统时间 |
int get(int field) | 获取时间分量 |
void set(int field,int value) | 设置指定时间分量的值 |
int void set(int year,int month,int day) | 设置年月日 |
int void set(int year,int month,int day,int hour,int minute) | 设置年月日时分 |
int void set(int year,int month,int day,int hour,int minute,int second) | 设置年月日时分秒 |
void add(int field,int amount) | 根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中 |
void roll(in field,int amount) | 向指定日历字段添加有符号的时间量,不更改更大的字段 |
以下是Calendar类的部分时间分量
Calendar类的部分时间分量
时间分量 | 额 |
---|---|
YEAR | 年 |
MONTH | 月(注意月的值是从0开始的,即如果取出的值为0,即为1月) |
DATE | 日 |
HOUR | 小时:用于12小时的时钟;正午和午夜用0表示,而不是12 |
MINUTE | 分钟 |
SECOND | 秒 |
HOUR_OF_DAY | 表示一天中的24小时的时钟 |
DAY_OF_WEEK | 一星期的第几天,星期日为第一天 |
DAY_OF_MONTH | 一个月中的第几天,从1开始 |
DAY_OF_YEAR | 一年中的第几天 |
###Calendar类的方法应用
public class TEXT0601 {public static void main(String []args) {Calendar today = Calendar.getInstance();//获取Calendar对象,该对象储存当前的系统时间System.out.print("今天是:"+today.get(Calendar.YEAR)+"年");System.out.print(today.get(Calendar.MONTH)+1+"月");//注意月的值从0开始,这里取出的值是7,实际上是8月,所以要加上1System.out.println(today.get(Calendar.DATE)+"日");System.out.print(today.get(Calendar.HOUR_OF_DAY)+"时");System.out.print(today.get(Calendar.MINUTE)+"分");System.out.print(today.get(Calendar.SECOND)+"秒");System.out.println("\t"+"(即下午"+today.get(Calendar.HOUR)+"时)");System.out.println("这个星期的第"+today.get(Calendar.DAY_OF_WEEK)+"天"+"(即星期三)");System.out.println("这个月的第"+today.get(Calendar.DAY_OF_MONTH)+"天");System.out.println("这一年的第"+today.get(Calendar.DAY_OF_YEAR)+"天");int a = 12;today.add(Calendar.DATE, a);System.out.print("再过"+a+"天是:"+today.get(Calendar.YEAR)+"年");System.out.print(today.get(Calendar.MONTH)+1+"月");System.out.println(today.get(Calendar.DATE)+"日");today.set(2018,8,17);System.out.print(today.get(Calendar.YEAR)+"年的七夕节是:");System.out.println(today.get(Calendar.MONTH)+"月"+today.get(Calendar.DATE)+"日");
运行结果如下:
今天是:2018年8月22日
17时27分7秒 (即下午5时)
这个星期的第4天(即星期三)
这个月的第22天
这一年的第234天
再过12天是:2018年9月3日
2018年的七夕节是:8月17日
###根据指定的年、月,显示该月的日历。
public class TEXT0602 {public static void main(String[]args) {int year,month;Calendar calendar = Calendar.getInstance();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH)+1;if(args.length>=1) {try {year = Integer.parseInt(args[0]);if(year<0||year>5000) {System.out.println("第一个参数是0-5000的数值");System.exit(0);}}catch(NumberFormatException e){System.out.println("参数代表年份和月份,必须是数字!");}}if(args.length>=2) {try {month = Integer.parseInt(args[1]);if(month<=0||month>12) {System.out.println("第二个参数是1-12内的数值");System.exit(0);}}catch(NumberFormatException e){System.out.println("参数代表的是年份和月份,必须是数字!");System.exit(0);}}String b[] = new String[42];calendar.set(year,month-1,1);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;//1号是星期几int days = 0;if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) {days = 31;}if(month==4||month==6||month==9||month==11) {days = 30;}if(month==2) {if(year%4==0&&year%100!=0||year%400==0) {days = 29;}else {days = 28;}}int j;for(j=0;j<42;j++)b[j]=" ";for(j=0;j<days;j++) {b[j+dayOfWeek] = String.valueOf(j+1);}System.out.println("\t\t"+year+"年"+month+"月");System.out.println("\t日\t一\t二\t三\t四\t五\t六");for(j=0;j<42;j++) {if(j!=0&&j%7==0)System.out.println();if(b[j].length()==1)System.out.print("");System.out.print("\t"+b[j]);}}}
运行结果如下:
本月的日历如下:
Java时间与日期类(Calendar类的方法应用与打印日历)相关推荐
- java 日历工具_java之日历处理工具类Calendar类
编程语言 java之日历处理工具类Calendar类 字号+ 作者:小虾米 2016-11-08 12:43 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_O ...
- Java中的常用类——Calendar类
Calendar类 主要用于完成日期和时间字段的操作,他可以通过特定的方法来读取日期.Calendar类是一个抽象类,不可以被实例化,需要通过调用静态方法**getInstance()**来得到一个c ...
- Java 时间与日期处理
Java 时间与日期处理 王下邀月熊 18 小时前 Java 时间与日期处理 从属于笔者的 现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中. Java 时间与日期 ...
- Java 时间与日期处理 1
Java 时间与日期处理 从属于笔者的现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中. Java 时间与日期处理 在 Java 8 之前,我们最常见的时间与日期处 ...
- calendar类_带有时区的字符怎样转换为时间及Java 8中日期 与 Calendar 转换
概述 Java 8 日期,时间常用操作及格式化. 重点怎么把时间戳转换为带有时区的时间字符串? 带有时区的字符串怎样转换为时间? Java 8中时间,日期 与Date, Calendar 怎样互转? ...
- java日期类的计算问题_java日期计算(Calendar类)
昨天学了java日期的格式器,主要是用SimpleDateFormat进行格式化.解析.但这还仅停留在日期的查看(调整显示格式)阶段,更重要的是日期的操作.今天继续学习,记录如下: 今天主要学习的日期 ...
- java 日历工具_java中强大的时间处理工具:Calendar类(日历类)
java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...
- java中强大的时间处理工具:Calendar类(日历类)
java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...
- java 自然周_java 使用Calendar类计算每月有多少自然周,并输出每周的开始和结束日期...
思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天, (1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于 ...
- java -Date、DateFormat、Calendar类
Date类概述 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis() 相当于Date d = new Date ...
最新文章
- PAT(甲级)2019年春季考试 7-3 Telefraud Detection
- Python 在编程语言中是什么地位?为什么很多大学不教 Python?
- macOS上实现Qt应用程序做文件关联打开
- 2019 湖南多校第五场题解
- linux服务器cuda,cudnn的安装与卸载
- org.junit.runners.model.InvalidTestClassError: Invalid test class ‘‘: 1. No runnable methods
- 工厂模式个人案例_工厂设计模式案例研究
- 8255数码管显示0到9_汇编语言--键盘扫描及显示实验(含代码解释)
- (三)树莓派系列教程:树莓派4B上编写Python程序(C语言),并运行
- uni-app设置原生标题栏渐变色
- 科技护肤品,买还是不买
- 防侧漏之弱引用的使用
- 吴裕雄--天生自然 诗经:声声慢·寻寻觅觅
- progress GAN
- java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
- 毕业设计管理系统 数据库设计
- Angular4 第三章(中) 重定向路由,子路由,辅助路由
- 《混沌映射与比特重组的图像加密》(平萍等)一文的算法改进和展望
- 如何更改excel直线拟合有效数字的位数
- 图解CISCO 3550忘记密码解决方法