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

Java中如何使用Date和SimpleDateFormat函数格式化日期和时间?

发布时间:2023-05-20 03:57:48

Java是一门面向对象的编程语言,其强大的功能和简单易学的语法使其成为许多开发人员的首选。在Java中,日期和时间格式化是一个常见的任务,因为日期和时间在计算机应用程序中经常被用到。在本文中,我们将介绍Java中如何使用Date和SimpleDateFormat函数格式化日期和时间。

1. Date类 - Java中的日期

Java中的Date类是在java.util包中定义的,它提供了许多有用的方法,以便在程序中处理日期和时间。Date类中有一个long类型的构造函数,可以将从1970年1月1日开始的毫秒数转换为日期和时间。以下是使用Date类来获取当前日期和时间的示例代码:

Date currentDate = new Date();
System.out.println(currentDate);

这段代码将打印出当前日期和时间,结果类似于下面这样:

Thu Sep 30 14:53:06 EDT 2021

2. SimpleDateFormat类 - 格式化日期和时间

Java中的SimpleDateFormat类可用于将日期和时间格式化成字符串,也可将字符串解析为日期和时间。 SimpleDateFormat类的构造函数接受一个字符串参数,该字符串指定了日期和时间的格式。以下是使用SimpleDateFormat类格式化日期和时间的示例代码:

Date currentDate = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = simpleDateFormat.format(currentDate);
System.out.println(formattedDate);

这段代码将打印出当前日期和时间,格式为“年-月-日 时:分:秒”,结果类似于下面这样:

2021-09-30 14:53:06

在上面的示例中,我们使用了SimpleDateFormat的format()方法来格式化当前日期和时间。 format()方法返回一个字符串,其格式由调用者指定的格式定义。

3. SimpleDateFormat类 - 解析日期和时间

除了将日期和时间格式化成字符串之外,SimpleDateFormat还可将字符串解析为日期和时间。以下是使用SimpleDateFormat类解析日期和时间字符串的示例代码:

String dateString = "2021-09-30 14:53:06";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parsedDate = simpleDateFormat.parse(dateString);
System.out.println(parsedDate);

这段代码将解析字符串“2021-09-30 14:53:06”中的日期和时间,并将其转换为Java的Date对象。 解析后,我们可以使用Date对象进行其他操作。

4. SimpleDateFormat类 - 日期和时间格式化指南

SimpleDateFormat类可用于格式化多种日期和时间格式。以下是一些常见的日期和时间格式:

常见的日期格式:

| 格式字符 | 说明 | 示例 |

|----------|----------------|-------------------------|

| yyyy | 四位年份 | 2021 |

| MM | 两位月份 | 09 |

| MMM | 月份的简写 | 九月 / Sep |

| MMMM | 月份的完整名称 | 九月 / September |

| dd | 两位日期 | 30 |

| E | 星期几的简写 | 周四 / Thu |

| EEEE | 星期几的完整名称 | 星期四 / Thursday |

常见的时间格式:

| 格式字符 | 说明 | 示例 |

|----------|-----------------|---------------------|

| HH | 24小时制的小时数 | 14 |

| hh | 12小时制的小时数 | 02 |

| mm | 分钟数 | 53 |

| ss | 秒数 | 06 |

| a | 上午/下午标记 | 上午 / PM |

| zzzz | 时区 | 东部标准时间 / EDT |

5. 示例

下面是一个使用SimpleDateFormat类格式化日期和时间的完整示例:

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTimeFormatExample {
    public static void main(String[] args) {
        Date currentDate = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = simpleDateFormat.format(currentDate);
        System.out.println(formattedDate);

        String dateString = "2021-09-30 14:53:06";
        SimpleDateFormat parserDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date parsedDate = parserDateFormat.parse(dateString);
            System.out.println(parsedDate);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码输出当前日期和时间以及解析日期字符串后的日期和时间。 输出结果如下所示:

2021-09-30 14:53:06
Thu Sep 30 14:53:06 EDT 2021

6. 总结

Java中的Date和SimpleDateFormat函数可用于处理日期和时间。使用SimpleDateFormat类,我们可以轻松地格式化日期和时间,并将字符串解析为Java的Date对象。 为了正确使用SimpleDateFormat类,我们需要了解各种日期和时间格式字符以及它们的含义。