Java日期时间类
Java 日期时间类
1 Date类
Date类表示日期时间
其构造函数用法(默认获得系统时间 System.currentTimeMillis())
Date date=new Date();
Date类常用的方法
2 DateFormat类
Date 由于2部分组成 date和time(日期和时间)
我们用DateFormat格式化它吧!
2.1 getInstance() 默认
DateFormat df1=DateFormat.getInstance();
System.out.println(df1.format(new Date()));
结果是:21-12-31 下午5:18
2.2 getTimeInstance() 时间
1 默认
DateFormat df2=DateFormat.getTimeInstance();
System.out.println(df2.format(new Date()));
结果:17:25:13
2 DateFormat.参数
Long 参数
DateFormat df2=DateFormat.getTimeInstance(DateFormat.LONG);
System.out.println(df2.format(new Date()));
结果:下午05时27分41秒
Short 参数
DateFormat df2=DateFormat.getTimeInstance(DateFormat.SHORT);
System.out.println(df2.format(new Date()));
结果:下午5:31
2.3 getDateInstance 日期
1.默认
DateFormat df3=DateFormat.getDateInstance();
System.out.println(df3.format(new Date()));
结果:2021-12-31
2.DateFormat.参数
Long
DateFormat df3=DateFormat.getDateInstance(DateFormat.LONG);
System.out.println(df3.format(new Date()));
结果:2021年12月31日
short跟默认一样,不演示
2.4 getDateTimeInstance 日期和时间
默认
DateFormat df4=DateFormat.getDateTimeInstance();
System.out.println(df4.format(new Date()));
结果:2021-12-31 18:06:36
DateFormat.参数
由上面2个方式拼和在一起
DateFormat df4=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
System.out.println(df4.format(new Date()));
2.5 SimpleDateFormat 自定义格式
DateFormat df5=new SimpleDateFormat("yy年MM月dd日");
System.out.println(df5.format(new Date()));
3 Calendar类
calendar 是一个抽象类
翻译:日历
读音:[ˈkælɪndər]
calendar将日期分为6大类,用filed,字段表示
3.1 开始使用
开始必须使用 getInstance
Calendar calendar=Calendar.getInstance();
直接获取 calendar对象(必须操作)
字段 | 说明 |
---|---|
YEAR | 年 |
MONTH | 月 |
DATE | 日 |
HOUR | 时 |
DATE | 日 |
MINUTE | 分 |
SECOND | 秒 |
MINUTE | 分 |
这个是基本的,还有一些字段没有补充…
3.2 获取Get
- get()
calendar.get(int field)
获取calendar特定字段的值
- getTime()
calendar.getTime()
获取calendar对象时间值,date对象
- getTimeInMillis()
calendar.getTimeInMillis()
返回此calendard对象时间值,以秒为单位
获取特殊例子:
//是否是上午时间 是,返回1
System.out.println(setDayCalendar.get(Calendar.AM));
//一年的第多少天
System.out.println(setDayCalendar.get(Calendar.DAY_OF_YEAR));
//某月中第几周
System.out.println(setDayCalendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
//周几
System.out.println(setDayCalendar.get(Calendar.DAY_OF_WEEK));
//一年的第多少周
System.out.println(setDayCalendar.get(Calendar. WEEK_OF_YEAR));
3.3 设置Set
- set()
设置日历的年、月、日、时、分、秒 (分为6个部分)
一个有4种方法
set(int field,int value) 给calendar某个字段,设置值
set(int year,int month,int date)
set(int year,int month,int date,int hourofDay,int minute)
set(int year,int month,int day,int hour,int minute,int second)
- SetTime()
calendar.setTime(Date date)
按日期整体设置
- SetTimeInMillis()
calendar.setTimeInMillis(long millis)
按long秒整体设置
3.4 日期运算
- add(int field,int amount)
给指定字段添加与减去指定的时间量
用于 设置软件过期时间
calendar.set(2021,11,1,5,30,30);
//结果:2021-12-1 5:30:30
calendar.add(Calendar.DATE,5);//设置5天后时间
//结果:2021-12-6 5:30:30
calendar.add(Calendar.DATE,-5);//设置5天前时间
//结果:2021-11-26 5:30:30
3.5 日期对比
- after(Object where)
- before(Object where)
可用于 判断 软件是否过期
比如:
今天时间ToDay是 2022-1-1 5:30:30 小
设置时间SetDay是 2022-1-3 5:30:30 大
ToDaycalendar.before(Setcalendar) 结果是 true
ToDaycalendar.after(Setcalendar) 结果是 false
今天时间ToDay是 2022-1-1 5:30:30 大
设置时间SetDay是 2021-12-31 5:30:30 小
ToDaycalendar.before(Setcalendar) 结果是 false
ToDaycalendar.after(Setcalendar) 结果是 true
3.6 剩余天数
计算现在时间与设置时间 相差天数
可用于 计算 软件剩余的天数
Calendar setDayCalendar=Calendar.getInstance();
setDayCalendar.set(2021,11,1,5,30,30);
setDayCalendar.add(Calendar.DATE,29);
Calendar toDayCalendar=Calendar.getInstance();
long toDayLong=toDayCalendar.getTimeInMillis();
long setDayLong=setDayCalendar.getTimeInMillis();
long differ=setDayLong-toDayLong; //如是负数,表示过期
long day=differ/(1000*60*60*24);
System.out.println(day);
相关文章
- java集合(3)- Java中的equals和hashCode方法详解
- java日期工具类(Long型,Date型,yyyyMMdd型)等
- Java JDBC 操作二进制数据、日期时间
- Java基础篇(04):日期与时间API用法详解
- 《Java并发编程实战》第十一章 性能与可伸缩性 读书笔记
- Java Reflection(十):数组
- Java: mysql-connector-java
- JAVA单元测试框架-9-testng.xml管理依赖
- 必看!java后端,亮剑诛仙(最全知识点)
- 34 异常机制 异常体系结构 Java把异常当做对象来处理 并定义一个基类java.lang.Throwable作为所有异常的超类 Error Exception
- Java中流的操作以及编码解码
- 第七节:详细讲解Java中的日期,java.util.date
- 第七节:详细讲解Java中的日期,java.util.date
- Java 标记接口
- 1. java.util.concurrent - Java 并发工具包
- java日期时间处理小结
- Java魔法堂:找外援的利器——Runtime.exec详解
- Java日期格式化
- 【JAVA】Exception in thread "main" java.lang.NoClassDefFoundError
- JAVA面试题解惑系列(七)——使用日期和时间
- Java小白入门200例62之java中日期查询常用实例
- Java中检查字符串是否是有效日期