Java 从入门到进阶之路(二十)

本文深入探讨Java中的日期操作,包括Date类的使用,它表示距离纪元的毫秒数。还介绍了SimpleDateFormat,用于String和Date之间的转换,并展示了如何通过parse方法处理日期格式。同时,文章讨论了Calendar类,可以设置和获取不同时间分量,并进行时间计算。
摘要由CSDN通过智能技术生成

在之前的文章我们介绍了一下 Java 中的包装类,本章我们来看一下 Java 中的日期操作。

在我们日常编程中,日期使我们非常常用的一个操作,比如读写日期,输出日志等,那接下来我们就看一下 Java 中的日期操作。

 从上图可以看出 Java 为我们提供了三个标准类库来工我们使用,三个类库之间在使用过程中又需要相互协作,接下来我们就一一看一下。

Java中的时间

  1、Java 中的时间使用标准类库的 Date 类表示,是用距离一个固定时间点的毫秒数(可正可负,long 类型)表示一个特定的时间点;

  2、固定的时间点叫纪元(epoch),是 UTC 时间 1970年1月1日 00:00:00;

  3、UTC(Universal Time Coordinated 世界调整时间)与GMT(Greenwich Mean Time 格林威治时间)一样,是一种具有实际目的的科学标准时间。

 1 import java.util.Date;
 2 
 3 /**
 4  * java.util.Date 包
 5  * Date 的每一个实例用于表示一个确切的时间点。
 6  * 内部维护了一个 long 值,该值记录的是从:
 7  * 1970年1月1日 00:00:00 到表示的时间点之间所经历的毫秒值。
 8  * 正数是 70 年以后的日期,负数是 70 年以前的日期
 9  * 由于 Date 设计上存在缺陷(时区,千年虫),所以它的大部分方法被设置为"过时的",
10  * 不再建议使用
11  */
12 public class Main {
13     public static void main(String[] args) {
14         // 当前系统时间
15         Date now = new Date();
16         System.out.println(now); // Wed Dec 11 15:57:21 CST 2019  --对非英语地区很不友好
17 
18         /**
19          * Date 的大部分方法不建议使用了
20          * */
21         now.getYear(); // getYear 上面油条横线,表示方法已不再建议使用
22         /**
23          * 获取 Date 内部维护的 long 还可以使用
24          * */
25         long time = now.getTime();
26         System.out.println(time); // 1576053403721
27         /**
28          * void setTime(long)
29          * 设置一个 long 值,使 Date 表示该 long 值所表示的时间
30          * */
31         time += 24 * 60 * 60 * 1000; // 将 time 加 1 天的毫秒,即明天
32         now.setTime(time); // setTime() 可以将时间设置为我们规定的时间
33         System.out.println(now); // Thu Dec 12 16:39:54 CST 2019
34 
35     }
36 }

在上面的代码中,我们讲解了一些关于 Date 的一些内容,可以看出 Date 已经不是很实用现在的编程,我们充其量也只是用一下 getTime 这个方法。下面我们来看一下 SimpleDateFormat

SimpleDateFormat 可以根据一个给定的日期格式将 String 和 Date 想换转换,格式如下:

现在我们就根据上面的转换格式输出一下当前时间,代码如下:

 1 import java.text.ParseException;
 2 impo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值