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类常用的方法
序号 | 方法 | 描述 |
---|---|---|
1 | boolean after(Date date) | 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 | boolean before(Date date) | 若当调用此方法的Date对象在指定日期之前返回true,否则返回false |
3 | Object clone( ) | 返回此对象的副本。 |
4 | int compareTo(Date date) | 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
5 | int compareTo(Object obj) | 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 |
6 | boolean equals(Object date) | 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
7 | long getTime( ) | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
8 | int hashCode( ) | 返回此对象的哈希码值。 |
9 | void setTime(long time) | 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
10 | String 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日期类型的大小比较