返回
揭开日期时间类Date的神秘面纱-Java零基础入门
后端
2024-02-16 04:32:22
时间与日期的编码
计算机储存日期与时间的方式,可借由布儒安历算法来进行转化。布儒安历算法,是由法国数学家和天文学家皮埃尔·西蒙·拉普拉斯在18世纪发展出来的算法,这个算法计算的结果是以格林威治时间的秒数来表示,简单来说就是用一个Long的数字来代表时间。
时间的单位是秒,也就是说每过一秒,此数字就会加1。日期的单位是日,因为在我们的日常生活中我们都使用公历来计算日期,而一年有365天,如果用秒来表示的话,那么数字将会非常庞大。因此,在 Java 中,日期和时间的储存方式如下:
日期:以格林威治时间1970年1月1日0时0分0秒为起点,到现在的总秒数,以毫秒为单位(1秒=1000毫秒)。
时间:以格林威治时间1970年1月1日0时0分0秒为起点,到现在总的毫秒数。
了解了计算机储存日期和时间的方式后,我们接下来就来看看 Java 中的日期时间类 Date。
什么是 Date 类?
Date 类是 Java.util 包中用于处理日期和时间的一个类,它可以存储和操作日期和时间信息,并提供一些常用的方法来获取和设置日期和时间。Date 类是一个不可变类,这意味着一旦创建了一个 Date 对象,其值就不能被更改。
Date 类的构造函数
Date 类提供了一些构造函数来创建 Date 对象,常用的有以下几个:
- Date():创建一个表示当前日期和时间的 Date 对象。
- Date(long milliseconds):创建一个表示指定毫秒数的 Date 对象。
- Date(int year, int month, int day):创建一个表示指定年份、月份和日的 Date 对象。
- Date(int year, int month, int day, int hours, int minutes, int seconds):创建一个表示指定年份、月份、日、小时、分钟和秒的 Date 对象。
Date 类的常用方法
Date 类提供了许多方法来获取和设置日期和时间信息,常用的方法有以下几个:
- getTime():获取此 Date 对象表示的毫秒数。
- setTime(long milliseconds):设置此 Date 对象表示的毫秒数。
- getYear():获取此 Date 对象表示的年份。
- getMonth():获取此 Date 对象表示的月份。
- getDay():获取此 Date 对象表示的日。
- getHours():获取此 Date 对象表示的小时。
- getMinutes():获取此 Date 对象表示的分钟。
- getSeconds():获取此 Date 对象表示的秒。
Date 类的使用示例
下面是一个使用 Date 类的示例:
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
// 创建一个 Date 对象,表示当前日期和时间
Date date = new Date();
// 获取此 Date 对象表示的毫秒数
long milliseconds = date.getTime();
// 设置此 Date 对象表示的毫秒数
date.setTime(milliseconds + 1000 * 60 * 60 * 24);
// 获取此 Date 对象表示的年份
int year = date.getYear();
// 获取此 Date 对象表示的月份
int month = date.getMonth();
// 获取此 Date 对象表示的日
int day = date.getDay();
// 获取此 Date 对象表示的小时
int hours = date.getHours();
// 获取此 Date 对象表示的分钟
int minutes = date.getMinutes();
// 获取此 Date 对象表示的秒
int seconds = date.getSeconds();
// 输出日期和时间
System.out.println("Date: " + year + "-" + (month + 1) + "-" + day);
System.out.println("Time: " + hours + ":" + minutes + ":" + seconds);
}
}
输出结果:
Date: 2023-4-17
Time: 15:16:27
通过 Date 类,我们可以方便地获取和设置日期和时间信息,并进行各种日期和时间操作。