欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

时间日期类

程序员文章站 2022-05-27 17:05:42
...

声明: 此笔记本人通过观看【尚学堂】+(赖小平主编)清华大学出版社的《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”)。

相关标签: Java基础笔记