Java日期时间

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表示形式,并返回该字符串。

获取当前日期时间
Java中获取当前日期和时间很简单,使用Date对象的 toString()方法来打印当前日期和时间,如下所示:

import java.util.Date;
  
public class DateDemo {
   public static void main(String args[]) {
       // 初始化 Date 对象
       Date date = new Date();
        
       // 使用 toString() 函数显示日期时间
       System.out.println(date.toString());
   }
}

编译运行结果如下

Fri Mar 13 11:18:05 CST 2020

日期比较
Java使用以下三种方法来比较两个日期:
1.使用getTime( ) 方法获取两个日期(自1970年1月1日经历的微秒数值),然后比较这两个值。
2.使用方法before(),after()和equals()。例如,一个月的12号比18号早,则new Date(99, 2, 12).before(new Date (99, 2, 18))返回true。
3.使用compareTo()方法,它是由Comparable接口定义的,Date类实现了这个接口。

使用SimpleDateFormat格式化日期(常用)
SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat允许你选择任何用户自定义日期时间格式来运行。例如:

import java.util.*;
import java.text.*;

public class DateDemo {
   public static void main(String args[]) {

      Date dNow = new Date( );
      //创建一个格式化时使用的对象ft
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      //通过对象ft调用他的方法实现对dnow的格式化
      System.out.println("Current Date: " + ft.format(dNow));
   }
}

使用printf格式化日期
printf方法可以很轻松地格式化时间和日期。使用两个字母格式,它以t开头并且以下面表格中的一个字母结尾。例如:

import java.util.Date;

public class DateDemo {

  public static void main(String args[]) {
     // 初始化 Date 对象
     Date date = new Date();

     // 使用toString()显示日期和时间
     String str = String.format("Current Date/Time : %tc", date );

     System.out.printf(str);
  }
}

效果:

Current Date/Time : 周五 313 12:10:11 CST 2020
发布了23 篇原创文章 · 获赞 39 · 访问量 6232

猜你喜欢

转载自blog.csdn.net/weixin_43894771/article/details/104836676