相关文章

  1. 《常用类 (一) ----- Arrays数组工具类》
  2. 《常用类 (二) ----- Math类》
  3. 《常用类 (三) ----- BigDecimal和BigInteger大数类》
  4. 《常用类 (四) ----- Random随机数类》
  5. 《常用类 (五) ----- Date日期类和Calender日历类》
  6. 《常用类 (六) ----- String类与字符串》
  7. 《常用类 (七) ----- 包装类》

时间类Date


一、将Date类以自定义格式打印出来

使用到的类:DateSimpleDateFormat
使用到的方法:SimpleDateFormat的String format(Date date)方法

// 获取系统当前时间Date nowDate = new Date();System.out.println(nowDate); // 以默认格式输出:Fri Jul 10 18:01:05 CST 2020// 自定义格式(字母的个数代表数字位数):/** yyyy 年* MM 月* dd 日* HH 时* mm 分* ss 秒* SSS 毫秒* 注意:除了上面的字母不能随意写之外,剩下的符号格式、字母顺序可以随意组织* */SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");// 将Date对象转为字符串打印出来,以自定义格式输出:2020-07-10 18:10:37 757System.out.println(sdf.format(nowDate));
二、将字符串转为Date对象

使用到的类:StringDateSimpleDateFormat
使用到的方法:SimpleDateFormat的Date parse(String str)方法

String s = "2020-12-14 11:30";// 必须对应字符串的年月日时分SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");Date date = sdf.parse(s);System.out.println(date);// 打印 Mon Dec 14 11:30:00 CST 2020
三、练习
  1. 从1970年1月1日到2020年7月1日每个月的1号为星期一的天数是多少?

    Date date = null;int count = 0;// 遍历从1970-01-01、1997-02-01...一直到2020-07-10// 每次遍历把Date转为字符串,按空格拆分字符串到String数组中// 因为Date的默认打印格式形如:Fri Jul 10 18:01:05 CST 2020// 所以判断String数组第一个元素为"Mon"、第三个元素为"01",则计数for (int year = 70; year <= 120; year++) {for (int month = 1; month <= 12; month++) {// 注意:Date的构造方法中,year的设置为1900的偏移量date = new Date(year, month, 1);String[] s = date.toString().split(" ");if (s[0].equals("Mon") && s[2].equals("01"))count++;}}System.out.println(count);
  2. 获取昨天的当前时刻

    // 该构造方法传入的是从1970-01-01 00:00:00 000 开始的毫秒偏移量// System.currentTimeMillis()——返回从1970-01-01 00:00:00 000 开始 到当前时刻的毫秒数Date yesterday = new Date(System.currentTimeMillis() - 24 * 3600 * 1000);System.out.println(yesterday);// Fri Jul 10 11:00:29 CST 2020

日历类Calender


一、Calender类的实例化

Calender calender = Calender.getInstance();

二、Calender类常用的成员变量(日历字段)
字段 表示意义
YEAR
MONTH
DAY_OF_MONTH
DAY_OF_WEEK 星期
DAY_OF_YEAR 当前年中的第几天
DAY_OF_WEEK_IN_MONTH 当前月中的第几周
HOUR
MINUTE
SECOND

注意:

  1. 以上成员变量均可通过Calender对象调用set、get方法来修改和获取

  2. 与我们正常思维不同的两个属性:MONTHDAY_OF_WEEK

    (1) MONTH
      取值范围:0~11,(显示月份/输入月份)+1 = 实际月份,如:month = 0,2,8 表示:一月、三月、九月

    (2) DAY_OF_WEEK
      取值范围:1~7,(显示星期/输入星期) -1 = 实际星期,如:week = 1,4,7 表示:星期天、星期三、星期六

三、Calender的set方法
  1. 将给定字段修改为给定值——void set(int field, int value)

    Calendar calendar = Calendar.getInstance();int year = 2000;int month = 11;// 实际上表示12月int day = 14;calendar.set(Calendar.YEAR, year);// 2000年calendar.set(Calendar.MONTH, month);// 12月calendar.set(Calendar.DAY_OF_MONTH, day);// 14日
  2. 直接对Calender设置给定的年月日——void set(int year, int month, int date)

    Calendar calendar = Calendar.getInstance();// 2019年6月7日calendar.set(2019, 5, 7);// 2019年6月7日 9:30calendar.set(2019, 5, 7, 9, 30);// 2019年6月7日 09:30:45calendar.set(2019, 5, 7, 9, 30, 45);
四、Calender的get方法

获取Calender对象给定字段的值——int get(int field)

Calendar calendar = Calendar.getInstance();// 2019年6月7日 09:30:45calendar.set(2019, Calendar.JUNE, 7);int year = calendar.get(Calendar.YEAR);// 2019年int month = calendar.get(Calendar.MONTH);// 6月int day = calendar.get(Calendar.DAY_OF_MONTH);// 7日int week = calendar.get(Calendar.DAY_OF_WEEK);System.out.println(week); // 去年高考时间是星期五
五、练习
  1. 从1970年1月1日到2300年12月1日每个月的1号为星期天的天数为多少?

    Calendar calendar = Calendar.getInstance();int count = 0;for(int year = 1970; year <= 2300; year++) {for(int month = Calendar.JANUARY; month <= Calendar.DECEMBER; month++) {calendar.set(year, month, 1);if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {System.out.println(year + "-" + month + "-" + 1);count++;}}}System.out.println(count);
  2. 从1970年1月1日到2300年12月1日每年父亲节为6月20日的年数为多少?(父亲节为每年6月第三个星期天)

    Calendar calendar = Calendar.getInstance();int count = 0;for(int year = 1970; year <= 2300; year++) {calendar.set(Calendar.YEAR, year);calendar.set(Calendar.MONTH, Calendar.JUNE);// 6月calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, 3);// 第三个星期calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);// 星期天if(calendar.get(Calendar.DAY_OF_MONTH) == 20) {System.out.println(year);count++;}}System.out.println(count);

常用类 (五) ----- Date日期类和Calender日历类相关推荐

  1. Java基础------calender日历类

    java 常用的类  calender Calendar是日历类,该类将所有可能用到的时间信息封装为静态成员变量,方便获取. 一.获取方式 Calendar类在创建对象时并非直接创建,而是通过静态方法 ...

  2. Calender日历类

    使用方法: @Testpublic void test() { // 调用其静态方法得到一个对象Calendar calendar = Calendar.getInstance();System.ou ...

  3. Java实用工具类五:URL转码、解码类

    此文仅对自己工作中用到的类进行总结,方便以后的使用. package com.cn.hnust.util;import java.io.UnsupportedEncodingException; im ...

  4. java qlv转mp4 代码_Java实用工具类五:URL转码、解码类

    package com.cn.hnust.util; import java.io.UnsupportedEncodingException; import java.util.HashMap; im ...

  5. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类

    开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...

  6. android 日期时间类,Android 日期时间等转换工具类

    package com.easyder.util; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期时间等转换工具类 ...

  7. Java 的日历类Calendar

    Calendar目录 一.概述 ​ java.util.Calendar类是一个抽象类, 无法通过直接实例化得到对象 ,并且它是java日期处理的核心类之一.Calendar类为操作日历的类.日历字段 ...

  8. Java日期相关类:Date、SimpleDateFormat和Calendar类常用API代码示例

    Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间 Date类的构造方法 Date() :创建的是一个表示当前系统时间的Date对象 Date(long ...

  9. java 类数组_Java常用类-字符串、日期类、算法及数组工具类等

    大家好,乐字节的小乐又和大家见面了.这次要给大家讲述的是Java常用类. 主要有以下知识点: Ø 字符串相关类(String .StringBuffer.StringBuilder) Ø 算法及数组工 ...

最新文章

  1. mysql低权限用户getshell_GetShell的姿势总结
  2. 如何理解导远技术手册
  3. seo网站优化如何写好文章
  4. C++const 对指针和引用的作用
  5. 使用debug工具修改寄存器中的值
  6. DHCP中继处理办法
  7. android AVD详解
  8. Silverlight智能表单(3)之XML存储
  9. Entity Framework 5自动生成ObjectContext或者DbContext的设置
  10. Facebook 公开 APT32 身份,疑为越南本地一家 IT 公司
  11. Graph——bfs,dfs
  12. 8 随机积分与随机微分方程
  13. Java 图片压缩的学习记录
  14. 自然常数e的矩阵指数
  15. 键盘乱码,对键盘和数字均乱码,但数字键打出的还是数字,字母键打出的还是字母,只是乱了的起作用~
  16. 六角螺栓尺寸规格参照
  17. Zabbix监控组件介绍、工作原理、监控方式、监控概念
  18. TCP协议发送SKB时ip_summed初始值为0
  19. CSS系列之美化网页/span标签和div标签/字体样式/文本样式
  20. Nacos-配置集中管理

热门文章

  1. Swift - 触摸事件响应机制(UiView事件传递)
  2. Python基础第五天
  3. 关于ASP.NET与CLR相互关系的一些总结
  4. 种树(codevs 1768)
  5. Neutron/ML2学习
  6. 《更友好的网站url设计》
  7. 小程序入门学习19--springboot之HelloWorld
  8. OpenBSD同步时间
  9. 量化策略回测BoolC
  10. 裁员潮来袭!IT行情雪崩之下,我靠它竟能逆向突破职业危机