0
点赞
收藏
分享

微信扫一扫

JDK8之前日期时间API

愚鱼看书说故事 2022-04-22 阅读 195
java

文章目录


前言

在这里插入图片描述


一、java.lang.System类

System类提供的public static long currentTimeMillis()用来返回当前时
间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
此方法适于计算时间差。

计算世界时间的主要标准有:
UTC(Coordinated Universal Time)
GMT(Greenwich Mean Time)
CST(Central Standard Time)

二、java.util.Date类

表示特定的瞬间,精确到毫秒
1) 构造器:
Date():使用无参构造器创建的对象可以获取本地当前时间。
Date(long date)
2) 常用方法
getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
toString():把此 Date 对象转换为以下形式的 String: dow mon dd
hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue,
Wed, Thu, Fri, Sat),zzz是时间标准。
③ 其它很多方法都过时了。

代码示例:

import java.util.Date;
Date date = new Date();
System.out.println(date);
System.out.println(System.currentTimeMillis());
System.out.println(date.getTime());
Date date1 = new Date(date.getTime());
System.out.println(date1.getTime());
System.out.println(date1.toString());

三、java.text.SimpleDateFormat类

1)Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。
2) 它允许进行格式化:日期→文本、解析:文本→日期
3) 格式化:
SimpleDateFormat() :默认的模式和语言环境创建对象
public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
public String format(Date date):方法格式化时间对象date
4) 解析:
public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期。

代码示例:

Date date = new Date(); // 产生一个Date实例
// 产生一个formater格式化的实例
SimpleDateFormat formater = new SimpleDateFormat();
System.out.println(formater.format(date));// 打印输出默认的格式
SimpleDateFormat formater2 = new SimpleDateFormat("yyyy年MM月dd日 EEE 
HH:mm:ss");
System.out.println(formater2.format(date));
try {
	// 实例化一个指定的格式对象
	Date date2 = formater2.parse("2008年08月08日 星期一 08:08:08");
	// 将指定的日期解析后格式化按指定的格式输出
	System.out.println(date2.toString());
} catch (ParseException e) {
	e.printStackTrace();
}

四、java.util.Calendar(日历)类

1) Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能。
2) 获取Calendar实例的方法
① 使用Calendar.getInstance()方法
② 调用它的子类GregorianCalendar的构造器。
3) 一个Calendar的实例是系统时间的抽象表示,通过**get(int field)**方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND
public void set(int field,int value)
public void add(int field,int amount)
public final Date getTime()
public final void setTime(Date date)
4) 注意:
① 获取月份时:一月是0,二月是1,以此类推,12月是11
② 获取星期时:周日是1,周二是2 , 。。。。周六是7

Calendar calendar = Calendar.getInstance();
// 从一个 Calendar 对象中获取 Date 对象
Date date = calendar.getTime();
// 使用给定的 Date 设置此 Calendar 的时间
date = new Date(234234235235L);
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 8);
System.out.println("当前时间日设置为8后,时间是:" + calendar.getTime());
calendar.add(Calendar.HOUR, 2);
System.out.println("当前时间加2小时后,时间是:" + calendar.getTime());
calendar.add(Calendar.MONTH, -2);
System.out.println("当前日期减2个月后,时间是:" + calendar.getTime());


举报

相关推荐

0 条评论