java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java字符串转时间

Java字符串转时间几种常见的方法

作者:二九筒

在Java中字符串转化为日期格式是一个常见的需求,日期格式在处理时间相关的操作时非常重要,这篇文章主要给大家介绍了关于Java字符串转时间几种常见的方法,需要的朋友可以参考下

前言

在Java中,将字符串转换为时间对象有多种方式,主要取决于你使用的Java版本和需要的功能。以下是几种常见的方法:

1. 使用 SimpleDateFormat (Java 8之前)

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

public class StringToDate {
    public static void main(String[] args) throws Exception {
        String dateString = "2023-05-15 14:30:00";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = format.parse(dateString);
        System.out.println(date);
    }
}

2. 使用 DateTimeFormatter 和 LocalDateTime (Java 8+)

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class StringToLocalDateTime {
    public static void main(String[] args) {
        String dateString = "2023-05-15 14:30:00";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
        System.out.println(dateTime);
    }
}

3. 其他时间类型转换

a. 转换为 LocalDate (仅日期)

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

String dateString = "2023-05-15";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(dateString, formatter);

b. 转换为 LocalTime (仅时间)

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

String timeString = "14:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time = LocalTime.parse(timeString, formatter);

4. 处理不同格式

String dateString1 = "15/05/2023";
String dateString2 = "May 15, 2023";
String dateString3 = "20230515";

DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd/MM/yyyy");
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("MMM dd, yyyy");
DateTimeFormatter formatter3 = DateTimeFormatter.BASIC_ISO_DATE;

LocalDate date1 = LocalDate.parse(dateString1, formatter1);
LocalDate date2 = LocalDate.parse(dateString2, formatter2);
LocalDate date3 = LocalDate.parse(dateString3, formatter3);

5. 处理时区 (ZonedDateTime)

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

String dateString = "2023-05-15T14:30:00+08:00";
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateString);
System.out.println(zonedDateTime);

// 或者指定格式
String customDateString = "2023-05-15 14:30:00 Asia/Shanghai";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss VV");
ZonedDateTime zdt = ZonedDateTime.parse(customDateString, formatter);

注意事项

总结 

到此这篇关于Java字符串转时间几种常见方法的文章就介绍到这了,更多相关Java字符串转时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文