这篇继续学习Calendar的成员方法:add()和set()方法。Add()方法是根据字段去向前加或者向后减相关字段的值,而set()方法是直接给某字段设置具体值,或者给某几个字段一起赋值。

1.add()方法

package otherclass;
import java.util.Calendar;public class Demo1_Calendar {public static void main(String[] args) {Calendar c = Calendar.getInstance();  //父类引用指向子类对象//c.add(Calendar.YEAR, 1);//c.add(Calendar.YEAR, -1);c.add(Calendar.MONTH, 1);// 下面来拼接成一个我们看得习惯的时间,日期格式System.out.println(c.get(Calendar.YEAR)+"年"+(getNumber(c.get(Calendar.MONTH)+1))+"月"+getNumber(c.get(Calendar.DAY_OF_MONTH))+"日 "+getNumber(c.get(Calendar.HOUR_OF_DAY))+ ":"+getNumber(c.get(Calendar.MINUTE))+ ":"+getNumber(c.get(Calendar.SECOND))+ " "+getWeek(c.get(Calendar.DAY_OF_WEEK)));}/** 写一个返回符合中国人习惯的星期几的方法*/public static String getWeek(int week) {String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};// 注意上面数组索引对应的星期,1表示星期日,索引0空着,因为Calendar.get(Calendar.DAY_OF_WEEK)的范围是1到7return arr[week];}/** 月份,天和时分秒补齐0*/public static String getNumber(int num) {return (num > 9)? "" + num : "0" + num;}
}

输出:2018年05月25日 18:20:29 星期五

2.set()方法

package otherclass;
import java.util.Calendar;public class Demo1_Calendar {public static void main(String[] args) {Calendar c = Calendar.getInstance();  //父类引用指向子类对象//c.set(Calendar.YEAR, 2008);//c.set(Calendar.MONTH,7);  //注意这里7表示八月份//c.set(2008, 7, 8);        //直接设置2008-08-08c.set(2008, 7, 8, 20, 8, 8);    //设置年月日时分秒// 下面来拼接成一个我们看得习惯的时间,日期格式System.out.println(c.get(Calendar.YEAR)+"年"+(getNumber(c.get(Calendar.MONTH)+1))+"月"+getNumber(c.get(Calendar.DAY_OF_MONTH))+"日 "+getNumber(c.get(Calendar.HOUR_OF_DAY))+ ":"+getNumber(c.get(Calendar.MINUTE))+ ":"+getNumber(c.get(Calendar.SECOND))+ " "+getWeek(c.get(Calendar.DAY_OF_WEEK)));}/** 写一个返回符合中国人习惯的星期几的方法*/public static String getWeek(int week) {String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};// 注意上面数组索引对应的星期,1表示星期日,索引0空着,因为Calendar.get(Calendar.DAY_OF_WEEK)的范围是1到7return arr[week];}/** 月份,天和时分秒补齐0*/public static String getNumber(int num) {return (num > 9)? "" + num : "0" + num;}
}

输出:2008年08月08日 20:08:08 星期五

3.编程练习

题目:如何获取任意年份是平年还是闰年

分析:

1)键盘输入年,需要Scanner类

2)创建Calendar对象

3)通过set方法设置那一年的3月1日

4)将3月1日向前减去1

5)判断,如果是29天是闰年,否则返回false

package otherclass;import java.util.Calendar;
import java.util.Scanner;public class Demo2_Calendar {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个年份,判断是闰年还是平年");int year = sc.nextInt();boolean b = getYear(year);System.out.println(b);}public static boolean getYear(int year) {//2.创建Calendar对象Calendar c = Calendar.getInstance();//3.位置那一年的三月1日c.set(year, 2, 1);   // 三月需要写成2//4.将日减去1c.add(Calendar.DAY_OF_MONTH, -1);//5.判断是否是29天return c.get(Calendar.DAY_OF_MONTH) == 29;}
}

Java常见对象Calendar类-36-set和add方法以及判断是否是闰年相关推荐

  1. java object对象的方法_Java常见对象Object类中的个别方法

    Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成 ...

  2. 一个java程序中什么是主类_下列哪个是Java应用程序主类中正确的main方法?_学小易找答案...

    [判断题]用佛尔哈德法测定Ag + 时,不用先除去氮的低价氧化物.汞盐等杂质. [单选题]下列哪个是Java应用程序主类中正确的main方法? [判断题]javac.exe 命令文件存放在 JDK 安 ...

  3. java常见对象_Java/10_Java常见对象.md at master · DuHouAn/Java · GitHub

    Java常见对象 Arrays Arrays:针对数组进行操作的工具类. Arrays的常用成员方法: public static String toString(int[] a) //把数组转成字符 ...

  4. java calendar 下个月_使用Java中的Calendar类增加一个月

    为Java中的Calendar类导入以下包import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期Calendar calendar = Calendar ...

  5. 《Java程序设计》实验报告——Java的对象与类

    浙江理工大学 <Java程序设计>  实验报告  20 19-20 20学年第 1学期      学  院 信息学院 班  级 计算机科学与技术18(3) 姓  名 申屠志刚 学  号 2 ...

  6. Java的对象和类,构造器详解

    Java的对象和类 package OPP;//学生的类,一个类中只存在属性和方法 public class Student {//属性String name;//没有赋值默认值为nullint ag ...

  7. java对象与类ppt,JAVA语言对象与类.ppt

    JAVA语言对象与类.ppt 第三章 对象与类,3.1 类与对象 3.2 定义类 3.3 成员变量的作用域 3.4 方法重载 3.5 创建对象 3.6 构造方法 3.7 this关键字 3.8 初始化 ...

  8. Java常见的几种内存溢出及解决方法

    Java常见的几种内存溢出及解决方法[情况一]: java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另 ...

  9. Android APP常见的5类内存泄露及解决方法

    Android APP常见的5类内存泄露及解决方法 参考文章: (1)Android APP常见的5类内存泄露及解决方法 (2)https://www.cnblogs.com/genggeng/p/7 ...

最新文章

  1. 深度学习LiDAR定位:L3-Net
  2. [恢]hdu 2015
  3. web布局最实用的12条css技巧
  4. SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
  5. Linux下如何使用虚拟用户增加FTP的安全性
  6. 父窗口控制子窗口的行为-打开,关闭,重定位,回复
  7. qt中实现息屏开平mousepress_QT信号槽分析
  8. 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套
  9. 1109: 数根(函数专题)
  10. 【Linux】linux系统很卡排除
  11. python数据库连接池neo4j_在python中操作neo4j数据库的方法
  12. 无线路由器网络测试软件,简单快速测试家里无线路由器的网速和性能
  13. 华为鸿蒙可用型号,华为鸿蒙系统支持手机型号一览
  14. SQL Server学习笔记3: SQL Server2005集群上的SP3补丁升级步骤
  15. vmware虚拟机安装win11系统教程
  16. K8S搭建redis集群(2)使用redis-trib
  17. html蒙版代码是什么意思,图层蒙版是什么意思
  18. Excel怎么实现图片查找功能?
  19. Flask实战开发在线问答系统
  20. 软工-点赞和取消点赞

热门文章

  1. 读书笔记 摘自:《人工智能:国家人工智能战略行动抓手》的笔记(作者: 腾讯研究院 中国信息通信研究院互联网法律研究中心 腾讯AI Lab 腾讯开放平台)
  2. 门禁系统如何规避人脸识别数据使用风险?
  3. 联想电脑G50进入BIOS的几种方法
  4. Win10正式版怎么激活?
  5. 计算机科学体系介绍,计算机学科体系简介.ppt
  6. 聊天室客户端和网页版的区别
  7. Electron那些事02:打包
  8. STM32 ---deley延时两行代码实现【为方便移植文件】
  9. 13.4 库依赖冲突问题:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path
  10. embarrass的用法和搭配_embarrass的短语