时间日期类
声明: 此笔记本人通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!
时间日期类(Date类)
在计算机世界,我们把1970年1月1日00:00:00 定为基准时间。比起Date类,推荐使用功能更加强大的Calender类。
- Date类常用的2个构造器:
Date():无参构造器,可用来构造对象获取的当前时间。
Date(long Date):有参数,用来构造一个对象获取指定时间点的毫秒值。
- Date类的常用方法:
public long getTime(): 返回GMT起始时间以来的毫秒数。
public String toString(): 将Date对象转型为“星期 月份 日期 小时:分钟:秒钟 时区 年份”形式的字符串。
-
Date相关类:
【实例 测试时间类】
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date time = new Date();
System.out.println(time); //输出当前时间
System.out.println(time.getTime());//1970-1-1-00:00:00到现在时间的毫秒数
// 转化为"EEE MMM dd HH:mm:ss zzz yyyy";字符串形式的相关描述
//其实和上面直接输入time是一样的,toString方法就是输出对象的相关描述。
//也是可以传入time对象输出的。有时候也会涉及到重写toString方法。
System.out.println(time.toString());
【执行结果】
注:
Date方法中有很多方法已经逐渐被Calendar类或DateFormat类取代了。只需掌握Date类对象的创建(按上述实例中,可以在Date类中传入一个参数(例如Date time =new Date(2000),其中2000表示从基点时间开始到2000毫秒后的时间))、会使用getTime方法获取当前时间就可以了。
DateFormat类与SimpleDateFormat类
- DateFormat类的作用
它是一个抽象类,用来格式化日期或解析日期。此类方法比较少用,一般它的子类SimpleDateFormat类比较常用。
- DateFormat常用的方法
1、 static DateFormat getDateInstance() 获取当前环境下默认的日期格式
2、 static DateFormat getDateInstance(in style) 获取当前环境下指定的日期格式。(style为常量)
3、 static DateFormat getTimeInstance() 获取当前环境下默认的时间格式
4、 static DateFormat getDateTimeInstance() 获取当前环境下 默认的时间和日期格式
【实例 测试DateFormat类】
/*
*DateFormat testtime = new DateFormat(); 错误写法,Dateformat不能实例化(查看源码)
*抽象类不能够new,静态方法可直接通过类名调用
*/
//获取当前环境下默认的日期
DateFormat timetest =DateFormat.getDateInstance();
String str = timetest.format(new Date()); //把当前日期转化为默认的日期格式字符串
System.out.println("当前默认日期 " + str);
【执行结果】
注:其它方法的调用同等道理。
-
SimpleDateFormat类的使用
按指定的格式来显示日期时间对象,或将字符串转化为指定格式的日期时间对象。
【图 常用格式字符串】
注:可以在API中查看
【实例 测试SimpleDateFormat】
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
//调用format方法:把当前时间转化为“对象实例化时特定的字符串”
SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//把当前时间按s1对象特定的字符串转换为字符串输出
String str = s1.format(new Date());
System.out.println(str);
//调用parse方法:把“对象实例化时特定的字符串”转化为当前时间对象
SimpleDateFormat s2 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
Date date = s2.parse("2019年10月20日 15时20分30秒"); //需要抛出异常,否则报错
//特别注意:“对象实例化时特定的字符串”的格式要与所需要转化为时间对象的字符串要一致
System.out.println(date);
//测试其它格式化字符
//获得所处年份开始到目前多少天
SimpleDateFormat s3 = new SimpleDateFormat("D");
String date3 = s3.format(new Date());
System.out.println(date3);
}
}
【执行结果】
说明:
在字符串转化为指定格式的日期时间对象时需要注意抛出异常,否则报错。
还有特别注意:“对象实例化时特定的字符串”的格式要与所需要转化为当前时间对象的字符串要一致(例如程序中的 “s2”)。
上一篇: 时间日期插件引用使用方法
下一篇: Unix下时间和日期