Java常用类:时间类(Date、Calendar、SimpleDateFormat)
2022/3/28 11:52:35
本文主要是介绍Java常用类:时间类(Date、Calendar、SimpleDateFormat),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Date
- Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代
- 1s=1000ms=1_000_000nm
方法
- 创建对象,显示时间
//今天 Date date = new Date(); System.out.println(date.toString()); System.out.println(date.toLocaleString()); //昨天,今天减去一天的毫秒数 Date date1 = new Date(date.getTime()-60*60*24*1000); System.out.println(date1.toLocaleString());
- after,before
今天的时间是否在昨天之后
boolean b1 = date.after(date1); System.out.println(b1); boolean b2 = date.before(date1);
- compareTo:比较大小,正数大,负数小,0相等
int i = date.compareTo(date1); System.out.println(i);
- equals
Calendar
Calendar提供了获取或设置各种日历字段的方法
Calendar的修饰符是protected,无法直接创造对象
方法
- getInstance():使用默认时区和区域获取日历
- set():设置年月日
- get(): 返回给定日历字段的值(年月日)
- setTime(Date date):用Date设置该日历的时间,Date -> Calendar
- getTime():返回一个Date表示此日历的时间,Calendar -> Date
- add():时间的增加和减少
- getTimeInMillies():获取从1970至今的毫秒值
- getActualMaximum():获取月的最大天数
- getActualMinimum():获取月的最小天数
//1. 创建Calendar对象 Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime().toLocaleString()); System.out.println(calendar.getTimeInMillis()); //2. 获取时间信息 int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH);//从0-11 int day = calendar.get(Calendar.DATE);//DAY_OF_MONTH,作用相同 int hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR:12小时制,HOUR_OF_DAY:24小时制 int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); System.out.println(year+"年"+(month+1)+"月"+day+"日 "+hour+":"+minute+":"+second); //修改时间 Calendar calendar2 = Calendar.getInstance(); calendar2.set(Calendar.DAY_OF_MONTH,22); System.out.println(calendar2.getTime().toLocaleString()); //4. add方法修改世家 calendar2.add(Calendar.HOUR,-1);//减去一小时 System.out.println(calendar2.getTime().toLocaleString()); //用于获取月的最大最小天数 int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH); int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH); System.out.println(max); System.out.println(min);
SimpleDateFormat
- SImpleDateFormat是用于格式化和解析日期的类
- 格式化:日期 -> 文本
- 解析:文本 -> 日期
- 常用时间模式字母
字母 | 日期或时间 |
---|---|
y | 年 |
M | 年中月份 |
d | 月中天数 |
H | 小时数(0-23) |
m | 分钟 |
s | 秒(小写s) |
S | 毫秒(大写S) |
方法
- 格式化
//1. 创建SimplyDateFormat对象,y年M月 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //2. 创建Date Date date = new Date(); //3. 格式化date,日期 -> 字符串 String str = sdf.format(date); System.out.println(str); //2022年03月28日 10:14:10
- 解析
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); Date date2 = sdf2.parse("1990/05/01");//需要符合创建对象时的类型,才能进行解析 System.out.println(date2); //Tue May 01 00:00:00 CDT 1990
这篇关于Java常用类:时间类(Date、Calendar、SimpleDateFormat)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程