21xrx.com
2024-09-20 05:59:01 Friday
登录
文章检索 我的文章 写文章
Java中的String转Date:实用方法及示例
2023-06-17 13:35:26 深夜i     --     --
Java String转Date SimpleDateFormat类 DateTimeFormatter类 Calendar类

在Java编程中,将字符串转换为日期是一项非常常见的任务。Java提供了多种方法来实现这个过程,但是不同的方法适用于不同的日期格式和需求。 在本文中,我们将介绍一些主要的String转换为Date的方法并提供示例。

方法1:使用SimpleDateFormat类

SimpleDateFormat是Java中用于将日期字符串转换为Date对象的最常见的方法。它允许您指定输入字符串的日期格式,然后使用相同的格式将其转换为Date对象。具体来说,它提供了以下方法:

1. parse(String text):将指定的字符串解析为日期对象。

2. format(Date date):将指定日期格式化为日期字符串。

下面是一些示例代码:

① 将字符串转换为日期对象:

String strDate = "2022-01-01";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(strDate);

② 将日期对象转换为字符串:

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String strDate = sdf.format(date);

方法2:使用DateTimeFormatter类

Java 8 引入了DateTimeFormatter类,它提供了更流畅的API,以解析和格式化日期/时间对象。与SimpleDateFormat不同的是,它支持线程安全解析和格式化,并提供了独特的解析器,以解析日期和时区。

DateTimeFormatter提供了以下方法:

1. parse(CharSequence text):将指定的字符串解析为日期对象。

2. format(TemporalAccessor temporal):将指定日期格式化为日期字符串。

下面是一些示例代码:

① 将字符串转换为日期对象:

String strDate = "2022-01-01";

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDate localDate = LocalDate.parse(strDate, dtf);

Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

② 将日期对象转换为字符串:

Date date = new Date();

LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

String strDate = localDate.format(dtf);

方法3:使用Calendar类

在Java中,Calendar类是一种将字符串转换为日期的另一种方法。通过将日期字段设置为日期后,该类提供了将Calendar转换为Date对象的方法。

以下是示例代码:

① 将字符串转换为日期对象:

String strDate = "2022-01-01";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(strDate);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

② 将Calendar转换为Date对象:

Date date = calendar.getTime();

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复