介绍Java涉及日期的类
- Date类 – 获取日期对象
- Calendar类 – 获取日期的特定部分(时分秒)
Date类
- 构造函数:
一共有两个构造函数Date(); //使用当前日期和时间初始化对象 Date(long millisec);//接受一个参数,该参数是从1970年1月1日起的毫秒数 - 常用方法:
long getTime();//返回从1970年1月1日以来表示的毫秒数 void setTime();//使用毫秒数设置时间和日期 - 使用SimpleDateFormat格式化日期
- SimpleDateFormat是DateFormat的子类
- 参考以下实例,使用format(date)进行格式化(Date ->String)
输出结果Date date = new Date(); SimepleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); system.out.println("当前时间"+ft.format(date));
当前时间 2019-08-19 10:50:15 - 时间模式字符串用来指定时间格式。
| 字母 | 描述 | 示例 |
|---|---|---|
| G | 纪元标记 | AD |
| y | 四位年份 | 2001 |
| M | 月份 | July or 07 |
| d | 一个月的日期 | 10 |
| h | A.M./P.M. (1~12)格式小时 | 12 |
| H | 一天中的小时 (0~23) | 22 |
| m | 分钟数 | 30 |
| s | 秒数 | 55 |
| S | 毫秒数 | 234 |
| E | 星期几 | Tuesday |
| D | 一年中的日子 | 360 |
| F | 一个月中第几周的周几 | 2 (second Wed. in July) |
| w | 一年中第几周 | 40 |
| W | 一个月中第几周 | 1 |
| a | A.M./P.M. 标记 | PM |
| k | 一天中的小时(1~24) | 24 |
| K | A.M./P.M. (0~11)格式小时 | 10 |
| z | 时区 | Eastern Standard Time |
| ’ | 文字定界符 | Delimiter |
| " | 单引号 | ` |
- parse()进行Date - String的转化
参考以下实例
输出结果String str = "2019-08-19 10:30:00" ; Date date = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss").parse(str);
Mon Aug 19 10:30:00 CST 2019
Calendar类
- 创建一个Calendar对象
Calendar cal = Calendar.getInstance();//默认是当前日期 - 设置指定时间的方法
- set方法 :直接设置时间
field : 设置的指定的时间(年月日时分秒)常用如下图,也可以用下标代替//可以设置指定的时间 void set(int field,int value) //也可以一起设置所有的时间 void set(int year, int month, int date) //设置年、月、日的值。 void set(int year, int month, int date, int hour, int minute) //设置年、月、日、小时、分钟的值。 void set(int year, int month, int date, int hour, int minute, int second) //设置年、月、日、小时、分钟、秒的值。
value: 设置具体的值
| 常量 | 描述 |
|---|---|
| Calendar.YEAR | 年份 |
| Calendar.DATE | 天数 |
| Calendar.MONTH | 月份 |
| Calendar.HOUR | 12小时制的小时 |
| Calendar.MINUTE | 分钟 |
| Calendar.SECOND | 秒 |
| Calendar.DAY_OF_WEEK | 星期几 |
| Calendar.DAY_OF_MONTH | 天数 |
- add方法:在原有的基础上进行计算
void add(int field,int amount)//amount是负数,则表示几天前;正数为几天后; cal.add(Calendar.DATE, -10); //意思是当前日期对象的天数减去10,表示10天前
- 获取时间
int get(int field)//获取指定字段的时间 Date getTime()//返回一个Date对象,默认为当前时间 long getTimeInMillis()//返回长整型的当前时间
注:
- Calendar.MONTH:表示月份
在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年 中的月份数。
所以这个值的初始值为0,所以我们用它来表示日历月份时需要加1 - Calender.day_of_week :指示一个星期中的某天。
该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 。
我们知道DAY_OF_WEEK是获取当前日期是一周中的第几天,
而一周从周日算起,因此当我们取得这个值之后,为了要正确的截取出随后的字符串week1中的那个中文字符,因此它需要减1来达到目
参考
https://www.cnblogs.com/chenjfblog/p/7699096.html
https://www.runoob.com/java/java-date-time.html
本文详细介绍Java中处理日期和时间的类,包括Date类的构造函数和常用方法,如getTime()和setTime(),以及如何使用SimpleDateFormat进行日期格式化。同时,文章还深入探讨了Calendar类的使用,包括如何设置和获取特定的日期时间组件。
与日期相关的类相关知识记录&spm=1001.2101.3001.5002&articleId=99714347&d=1&t=3&u=8318d1cdbdad4c16bcc8e11ff60eb97a)
4835

被折叠的 条评论
为什么被折叠?



