Java常用类—日期类—Date、SimpleDateFormat、Calender
文章目录
- 一、Date类
- 1. Date类的概述及构造方法
- 2. 成员方法
- 二、SimpleDateFormat类
- 1. 概述及构造方法
- 2. 成员方法
- 三、Calendar类
- 1. 概述及构造方法
- 2. Calendar类的add与set方法
一、Date类
1. Date类的概述及构造方法
-
概述
- 表示特定的瞬间,精确到毫秒
-
构造方法
- public Date()
- 创建一个Date类对象,表示当前的时间,精确到毫秒
- public Date(long date)
- 创建一个Date类,表示从1970 年 1 月 1 日 00:00:00 GMT,加上指定的毫秒数的时间
- public Date()
2. 成员方法
- public long getTime()
- 获取一个日期对象的毫秒值,即返回从1970 年 1 月 1 日 00:00:00 GMT到日期对象表示时间的毫秒数
- public void setTime(long time)
- 设置日期对象的时间,将从1970 年 1 月 1 日 00:00:00 GMT以后time时间的时间点赋值给日期对象
二、SimpleDateFormat类
1. 概述及构造方法
-
概述
- 以一定的格式将日期对象格式化为字符串,或将字符串解析成日期对象
-
构造方法
- public SimpleDateFormat()
- 使用默认的模式(规则)和默认语言环境的日期格式来创建一个SimpleDateFormat对象
- public SimpleDateFormat(String pattern)
- 使用指定的模式(规则)与默认语言环境的日期格式符号来创建一个SimpleDateFormat对象
- public SimpleDateFormat()
-
规则的语法
符号 | 含义 |
---|---|
y | 年 |
M | 年中的月份 |
W | 月份中的周数 |
d | 月中的天数 |
E | 星期中的天数 |
k | 一天中的小时(1-24) |
m | 小时中的分钟 |
s | 分钟中的秒数 |
S | 毫秒数 |
2. 成员方法
-
public String format(Date date)
- 将一个日期对象格式化成一个字符串
-
public Date parse(String dateStr)
- 将一个日期字符串以指定的格式解析成一个日期对象
-
练习:计算你来到了这个世界多少天
public static void main(String[] args) throws ParseException {SimpleDateFormat before = new SimpleDateFormat("yyyy:MM:dd");//以指定的格式创建SimpleDateFormat对象System.out.println("请输入你的出生年月日,以 yyyy:MM:dd 的格式");Scanner in = new Scanner(System.in);String birtday = in.nextLine();//得到用户出生年月日Date ago = before.parse(birtday);long time2 = ago.getTime();//得到出生时距离1970年1月1日零点的毫秒值Date now = new Date();long time1 = now.getTime();//得到现在距离1970年1月1日零点的毫秒值long days = (time1 - time2) / (1000 * 60 * 60 * 24);//将两者之差转换成天System.out.println(days);//打印}
//运行结果:
//请输入你的出生年月日,以 yyyy:MM:dd 的格式
//1999:10:01
//7338
三、Calendar类
1. 概述及构造方法
-
概述
- 抽象类,为特定的瞬间日历字段的转换和操作提供了一些方法,可以通过内部静态方法getInstance()方法类获得他的对象
-
public static Calendar getInstance()
- 使用默认的时区与语言环境得到一个日历对象
-
public int get(int field)
- 获得给定日历字段对应的值,field通过Calendar提供的字段来拿
2. Calendar类的add与set方法
- public void add(int field,int amount)
- 根据日历的规则,给指定的日历字段加减指定的时间量
- public final void set(int year,int month,int date)
- 设置日历的时间,年、月、日
- 获取任意年份的二月天数
public static void main(String[] args) {Calendar calendar = Calendar.getInstance();//使用静态方法创建Calendar类对象System.out.println("请输入要查询的年份");Scanner in = new Scanner(System.in);int year = in.nextInt();//得到查询的年份calendar.set(year, 2, 1);//给日历对象设置时间为当年的3月1日calendar.add(Calendar.DAY_OF_MONTH, -1);//将日期往前推一天int nums = calendar.get(Calendar.DAY_OF_MONTH);//获取日历的天数字段System.out.println(nums);//打印}
//运行结果:
//请输入要查询的年份
//2019
//28
发布评论