java常用类:时间类
-
Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法取代
-
时间单位
-
-
1毫秒=1000微秒
-
1微秒=1000纳秒
-
public static void main(String[] args) {
Date date = new Date();
//已经被弃用但还可以使用,打印今天的日期
System.out.println(date.toLocaleString());
//打印昨天的日期,一天的时间乘以1000毫秒
Date date1 = new Date(date.getTime()-(60*60*24*1000));
System.out.println(date1.toLocaleString());
}
Calendar类
-
Calendar提供了获取或设置各种日历字段的方法
-
构造方法
-
protected Calendar():由于修饰符是protected,所以无法直接创建该对象
-
public static void main(String[] args) {
//由于Calendar构造方法是protected,所以创建对象时调用它的静态方法
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
//获取年份
int year=calendar.get(Calendar.YEAR);
//月份 0-11而不是1-12
int month=calendar.get(Calendar.MONTH);
//日
int day=calendar.get(Calendar.DAY_OF_MONTH);
//小时
int hour=calendar.get(Calendar.HOUR_OF_DAY);//hour12小时,HOUR_OF_DAY24小时
//分钟
int minute=calendar.get(Calendar.MINUTE);
//秒
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");
}
SimpleDateFormat类
-
SimpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类。
-
进行格式化(日期->文本)、解析(文本->日期)
-
常用的时间模式字母
字母 | 日期或时间 | 示例 |
---|---|---|
y | 年 | 2019 |
M | 年中月份 | 08 |
d | 月中天数 | 10 |
H | 1天中小时数(0-23) | 22 |
m | 分钟 | 16 |
s | 秒 | 59 |
S | 毫秒 | 367 |
public static void main(String[] args) throws Exception{
//创建SimpleDateFormat对象,格式自己定义,后续改动都得保持格式一致性
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
//创建Date
Date date = new Date();
//格式化date,用字符串接收
String str=sdf.format(date);
System.out.println(str);
//解析(把字符串转成日期)
Date date1=sdf.parse("2018-09-08 23-24-24");
System.out.println(date1.toLocaleString());
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构