Date、SimpleDateFormat、Calendar

本文介绍了Java中的Date类、SimpleDateFormat类以及Calendar类的基本概念和使用方法。详细讲解了如何利用Date类表示特定瞬间,SimpleDateFormat类进行日期格式化与解析,以及Calendar类处理复杂的日期时间操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.1.Date概念

Date表示特定的瞬间,精确到毫秒。

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。

2.Date类的方法及其构造方法

Date date = new Date(); //创建日期对象

System.out.println(date);//Sun Aug 08 12:23:03 CST 2088 输出的是当前日期

Date date = new Date(0L);//0L是一个参数 是一个long的数值 计算 时间远点到 到这个数据值的时间。

System.out.println(date);// Thu Jan 01 08:00:00 CST 1970

date = new Date(3742767540068L);

System.out.println(date);// Sun Aug 08 09:39:00 CST 2088 表述时间原点经过3742767540068L 毫秒

Date date = new Date();

long time = date.getTime(); // 获取时间原点到当前日期的毫秒数

System.out.println(time);//3742777636267

二、1.SimpleDateFormat类概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

字母  日期或时间元素 表示 示例
GEra标志符 TextAD
 年 Year  1996;96
年中的月份  Month July;Jul;07
年中的周数  Number 27
W    月份中的周数  Number 2
D    年中的天数  Number189
d    月份中的天数Number10
F月份中的星期Number2
星期中的天数Text  Tuesday;Tue
a Am/pm标记 Text PM
一天中的小时数(0-23)Number  0
一天中的小时数(1-24)Number  24
K  am/pm中的小时数(0-11) Number 0
h am/pm中的小时数(1-12)   Number 12
m小时中的分钟数Number30
s    分钟中的秒数Number 55
S    毫秒数 Number978
z时区 General  time  zonePacfic  Standard  Time;PST;GMT-08:00
时区 RFC  822  time  zone-0800


常用的模式字母及对应关系:

        y -- 年        M -- 月        d -- 日        H -- 时       m -- 分        s -- 秒

2、SimpleDateFormat的构造方法

方法名  说明
public  SimpleDateFormat(String  pattern)构造一个SimpleDateFormat使用给定的模式和默认的日期格式
public  SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和日期格式
Date d = new Date();//获取当前系统的时间
 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String s = sdf.format(d);
        System.out.println(s);

三.Calendar类概述
Calendar是日历类,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

Calendar类的属性有很多,比如:
YEAR 年
MONTH 月(注意:从0开始算起,最大11;0代表1月,11代表12月)
DATE 天
HOUR 时
MINUTE分
SECOND秒

 Calendar calendar=Calendar.getInstance(); //通过getInstance方法获取Calendar的引用;
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//获取设置后的那天是当星期中的第几天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值