文章目录
前言
一、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());