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类的方法应用与打印日历)相关推荐

  1. java 日历工具_java之日历处理工具类Calendar类

    编程语言 java之日历处理工具类Calendar类 字号+ 作者:小虾米 2016-11-08 12:43 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_O ...

  2. Java中的常用类——Calendar类

    Calendar类 主要用于完成日期和时间字段的操作,他可以通过特定的方法来读取日期.Calendar类是一个抽象类,不可以被实例化,需要通过调用静态方法**getInstance()**来得到一个c ...

  3. Java 时间与日期处理

    Java 时间与日期处理 王下邀月熊 18 小时前 Java 时间与日期处理 从属于笔者的 现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中. Java 时间与日期 ...

  4. Java 时间与日期处理 1

    Java 时间与日期处理 从属于笔者的现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中. Java 时间与日期处理 在 Java 8 之前,我们最常见的时间与日期处 ...

  5. calendar类_带有时区的字符怎样转换为时间及Java 8中日期 与 Calendar 转换

    概述 Java 8 日期,时间常用操作及格式化. 重点怎么把时间戳转换为带有时区的时间字符串? 带有时区的字符串怎样转换为时间? Java 8中时间,日期 与Date, Calendar 怎样互转? ...

  6. java日期类的计算问题_java日期计算(Calendar类)

    昨天学了java日期的格式器,主要是用SimpleDateFormat进行格式化.解析.但这还仅停留在日期的查看(调整显示格式)阶段,更重要的是日期的操作.今天继续学习,记录如下: 今天主要学习的日期 ...

  7. java 日历工具_java中强大的时间处理工具:Calendar类(日历类)

    java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...

  8. java中强大的时间处理工具:Calendar类(日历类)

    java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第 ...

  9. java 自然周_java 使用Calendar类计算每月有多少自然周,并输出每周的开始和结束日期...

    思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天, (1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于 ...

  10. java -Date、DateFormat、Calendar类

    Date类概述 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis()  相当于Date d = new Date ...

最新文章

  1. PAT(甲级)2019年春季考试 7-3 Telefraud Detection
  2. Python 在编程语言中是什么地位?为什么很多大学不教 Python?
  3. macOS上实现Qt应用程序做文件关联打开
  4. 2019 湖南多校第五场题解
  5. linux服务器cuda,cudnn的安装与卸载
  6. org.junit.runners.model.InvalidTestClassError: Invalid test class ‘‘: 1. No runnable methods
  7. 工厂模式个人案例_工厂设计模式案例研究
  8. 8255数码管显示0到9_汇编语言--键盘扫描及显示实验(含代码解释)
  9. (三)树莓派系列教程:树莓派4B上编写Python程序(C语言),并运行
  10. uni-app设置原生标题栏渐变色
  11. 科技护肤品,买还是不买
  12. 防侧漏之弱引用的使用
  13. 吴裕雄--天生自然 诗经:声声慢·寻寻觅觅
  14. progress GAN
  15. java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
  16. 毕业设计管理系统 数据库设计
  17. Angular4 第三章(中) 重定向路由,子路由,辅助路由
  18. 《混沌映射与比特重组的图像加密》(平萍等)一文的算法改进和展望
  19. 如何更改excel直线拟合有效数字的位数
  20. 图解CISCO 3550忘记密码解决方法

热门文章

  1. 崮德好文连载 - 活该你是工程师(自序)
  2. ROSE HA高可用性软件介绍(转载)
  3. 杰奇2.3内核淡绿唯美小说网站源码 PC+手机版
  4. CocosCreator物理引擎Demo源码分析(1)-infinite-world
  5. 社会工程学(科普篇)
  6. 还来得及,快来拯救网易相册上的老照片吧!
  7. Python 音频文件批量切割
  8. 《Spring5官方文档》新功能
  9. 大一计算机题库百度云,大一计算机考试题库.pdf
  10. ORL Face94 LFW