Java小白入门200例57之日期Date类详解

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例57之日期Date类详解相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  56.鸡兔同笼问题
►下一篇  58.日期Calendar类详解

Date类介绍

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

构造函数

第一个构造函数使用当前日期和时间来初始化对象。

Date( )

第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。

Date(long millisec)

Date类常用的方法

序号方法描述
1boolean after(Date date)若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
2boolean before(Date date)若当调用此方法的Date对象在指定日期之前返回true,否则返回false
3Object clone( )返回此对象的副本。
4int compareTo(Date date)比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
5int compareTo(Object obj)若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。
6boolean equals(Object date)当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。
7long getTime( )返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
8int hashCode( )返回此对象的哈希码值。
9void setTime(long time)用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
10String toString( )把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

实例1

获取当前系统时间

package demo.demo57;

import java.util.Date;

public class Date1 {

	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(date.toString());
	}
}

运行结果:

Sun Sep 12 12:23:43 CST 2021

实例2

传入参数的时间

package demo.demo57;

import java.util.Date;

public class Date2 {

	public static void main(String[] args) {
		Date date = new Date(60000);
		System.out.println(date.toString());
	}
}

运行结果:

Thu Jan 01 08:01:00 CST 1970

实例3

before 方法的使用

package demo.demo57;

import java.util.Date;

public class Date3 {

	public static void main(String[] args) {
		Date date1 = new Date();
		System.out.println(date1.toString());
		
		//休眠一秒
		try {
			Thread.sleep(1000);
		} catch (Exception e) {
		}
		
		Date date2 = new Date();
		System.out.println(date2.toString());
		
		if (date1.before(date2)) {
			System.out.println("date1 在 date2 之前");
		}else {
			System.out.println("date1 在 date2 之后");
		}
	}
}

运行结果:

Sun Sep 12 12:36:17 CST 2021
Sun Sep 12 12:36:18 CST 2021
date1 在 date2 之前

实例4

after 方法的使用

package demo.demo57;

import java.util.Date;

public class Date4 {

	public static void main(String[] args) {
		Date date1 = new Date();
		System.out.println(date1.toString());
		
		//休眠一秒
		try {
			Thread.sleep(1000);
		} catch (Exception e) {
		}
		
		Date date2 = new Date();
		System.out.println(date2.toString());
		
		if (date1.after(date2)) {
			System.out.println("date1 在 date2 之后");
		}else {
			System.out.println("date1 在 date2 之前");
		}
	}
}

运行结果:

Sun Sep 12 12:37:49 CST 2021
Sun Sep 12 12:37:50 CST 2021
date1 在 date2 之前

实例5

clone 方法的使用

package demo.demo57;

import java.util.Date;

public class Date5 {

	public static void main(String[] args) {
		Date date = new Date();
		//克隆date为date2
		Date date2 = (Date)date.clone();
		//打印出两个date
		System.out.println(date.toString());
		System.out.println(date2.toString());
		//两个对象,不是同一个对象
		System.out.println(date==date2);
	}
}

运行

Sun Sep 12 12:41:56 CST 2021
Sun Sep 12 12:41:56 CST 2021
false

实例6

compareTo 方法的使用

package demo.demo57;

import java.util.Date;

public class Date6 {

	public static void main(String[] args) {
		Date date = new Date();
		//克隆date为date2
		Date date2 = (Date)date.clone();
		//打印出两个date
		System.out.println(date.toString());
		System.out.println(date2.toString());
		//返回0表示时间相等
		System.out.println(date.compareTo(date2));
		
		
		//休眠一秒
		try {
			Thread.sleep(1000);
		} catch (Exception e) {
		}
		
		Date date3 = new Date();
		System.out.println(date3.toString());
		//返回-1 表示date比date3小
		System.out.println(date.compareTo(date3));
		//返回1 表示date3比date大
		System.out.println(date3.compareTo(date));
	}
}

运行

Sun Sep 12 12:44:22 CST 2021
Sun Sep 12 12:44:22 CST 2021
0
Sun Sep 12 12:44:23 CST 2021
-1
1

实例7

equals 使用,可以判断出时间不相等,但是判断不出谁大谁小。

package demo.demo57;

import java.util.Date;

public class Date7 {

	public static void main(String[] args) {
		Date date = new Date();
		//克隆date为date2
		Date date2 = (Date)date.clone();
		//打印出两个date
		System.out.println(date.toString());
		System.out.println(date2.toString());
		//返回true表示时间相等
		System.out.println(date.equals(date2));
		
		
		//休眠一秒
		try {
			Thread.sleep(1000);
		} catch (Exception e) {
		}
		
		Date date3 = new Date();
		System.out.println(date3.toString());
		//返回false 表示date与date3不相等,但是看不出谁大谁小
		System.out.println(date.equals(date3));
		//返回false 表示date与date3不相等,但是看不出谁大谁小
		System.out.println(date3.equals(date));
	}
}

运行

Sun Sep 12 12:47:37 CST 2021
Sun Sep 12 12:47:37 CST 2021
true
Sun Sep 12 12:47:38 CST 2021
false
false

实例8

getTime 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

package demo.demo57;

import java.util.Date;

public class Date8 {

	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(date.getTime());
	}
}

运行结果 :

1631422195923

实例9

setTime 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。

package demo.demo57;

import java.util.Date;

public class Date9 {

	public static void main(String[] args) {
		Date date = new Date(60000);
		System.out.println(date.toString());
		//设置在1970 年的基础上加2分钟
		date.setTime(2*60000);
		System.out.println(date.toString());
	}
}

运行结果:

Thu Jan 01 08:01:00 CST 1970
Thu Jan 01 08:02:00 CST 1970

小结

这节总结了“日期Date类详解”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  56.鸡兔同笼问题
►下一篇  58.日期Calendar类详解

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例57之日期Date类详解的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例61之java中Date日期类型的大小比较

Java小白入门200例111之Collections类操作集合详解

Java小白入门200例109之Java Map集合详解

Java小白入门200例69之构造方法详解

Java小白入门200例45之 for 语句详解

Java小白入门200例48之 continue语句详解