欢迎访问宙启技术站
智能推送

如何使用Java中的Date类和DateFormat函数处理日期时间?

发布时间:2023-06-17 08:18:18

Java中的Date类和DateFormat函数是用于处理日期时间的重要类。在Java中,日期和时间都是以毫秒为基本单位。这意味着时间是一个长整型值,表示自1970年1月1日0时0分0秒以来的毫秒数。在本文中,我们将了解如何使用Date类和DateFormat函数处理Java中的日期时间。

Java中的Date类

Java中的Date类代表了一个特定的时间点。它实现了Serializable接口,因此可以被序列化和反序列化。Date类提供了一些方法来管理日期和时间。有两个构造函数可以用来创建Date对象,一个是无参构造函数,另一个是带long值的构造函数。

下面是一个使用Date类的示例:

import java.util.*;
public class DateDemo {
   public static void main(String args[]) {
      // create a date object
      Date date = new Date();
      // display time and date
      System.out.println(date.toString());
   }
}

输出:

Wed Aug 18 18:59:16 CST 2021

上述示例创建了一个Date对象并将其打印输出。由于toString()方法已经被Date类重载,因此输出将显示日期和时间的详细信息。

Java中的DateFormat函数

DateFormat类被用于将日期时间从字符串转换为Java中的Date对象,并将日期时间从Date对象转换为字符串。DateFormat类是一个抽象类,不能直接创建对象,必须使用其具体子类。SimpleDateFormat是最常用的DateFormat子类之一,它可以将日期时间格式化成各种不同的形式。

下面是一个使用SimpleDateFormat类的示例:

import java.util.*;
import java.text.*;
public class DateDemo {
   public static void main(String args[]) {
      Date date = new Date();
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      System.out.println("Current Date: " + ft.format(date));
   }
}

输出:

Current Date: Wed 2021.08.18 at 06:59:16 PM CST

上述示例使用SimpleDateFormat类将当前日期和时间格式化为指定格式,并在控制台上打印输出。

格式化日期和时间

使用DateFormat类,可以将Date对象格式化为指定的日期和时间字符串。以下是一些用于格式化日期和时间的有用的字母:

| 字母 | 含义 |

| --- | --- |

| y | 年份 |

| M | 月份 |

| d | 日期 |

| H | 小时 |

| m | 分钟 |

| s | 秒 |

以下是一些常见的格式化模式:

| 模式 | 含义 |

| --- | --- |

| yyyy-MM-dd | 2021-08-18 |

| yyyy-MM-dd HH:mm:ss | 2021-08-18 19:08:01 |

| yyyy-MM-dd HH:mm:ss.SSS | 2021-08-18 19:08:01.123 |

| EEE, d MMM yyyy HH:mm:ss Z | 星期三, 18 八月 2021 19:08:01 +0800 |

| EEE, MMM d yyyy | 星期三, 八月 18 2021 |

下面是一个使用SimpleDateFormat类的示例:

import java.util.*;
import java.text.*;
public class DateDemo {
   public static void main(String args[]) {
      Date date = new Date();
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
      System.out.println("Current Date: " + ft.format(date));
   }
}

输出:

Current Date: 2021-08-18 07:08:01

解析日期和时间

使用DateFormat类,可以将字符串解析为Date对象。以下是简单的示例:

import java.util.*;
import java.text.*;
public class DateDemo {
   public static void main(String args[]) throws ParseException {
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");
      String input = "2021-08-18";
      Date t = ft.parse(input);
      System.out.println(t);
   }
}

输出:

Wed Aug 18 00:00:00 CST 2021

上述示例使用SimpleDateFormat类将字符串格式化为Date对象。

总结

在本篇文章中,我们学习了如何使用Date类和DateFormat函数处理Java中的日期时间。我们看到了如何使用Date类创建日期时间对象,如何使用SimpleDateFormat类将日期时间格式化为不同的形式,并如何使用它将字符串解析为Date对象。熟悉这些类和方法可以帮助我们更好地处理Java中的日期时间,并从中获得更多的灵活性和控制。