时间日期类

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值