字符串转时间 Java

在Java中,字符串转时间是一个常见的需求。我们经常需要将字符串表示的时间转换为Java中的时间对象,以便进行时间相关的操作。在本文中,我们将介绍如何在Java中进行字符串转时间的操作,并提供相关的代码示例。

1. SimpleDateFormat类

Java提供了SimpleDateFormat类来处理日期和时间的格式化和解析。我们可以使用它来将字符串表示的时间转换为Java中的Date对象。

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

public class StringToTimeExample {
    public static void main(String[] args) {
        String dateString = "2021-08-01 12:00:00";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        try {
            Date date = format.parse(dateString);
            System.out.println(date);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上面的代码中,我们首先创建了一个SimpleDateFormat对象,指定了时间的格式为"yyyy-MM-dd HH:mm:ss"。然后我们调用它的parse()方法,将字符串dateString转换为Date对象。

2. DateTimeFormatter类

在Java 8及以上的版本中,我们可以使用java.time包下的DateTimeFormatter类来进行字符串转时间的操作。它提供了更加灵活和方便的方式来处理时间的格式化和解析。

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

public class StringToTimeExample {
    public static void main(String[] args) {
        String dateString = "2021-08-01 12:00:00";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
        
        System.out.println(dateTime);
    }
}

上面的代码中,我们首先创建了一个DateTimeFormatter对象,指定了时间的格式为"yyyy-MM-dd HH:mm:ss"。然后我们调用它的parse()方法,将字符串dateString转换为LocalDateTime对象。

3. 使用第三方库

除了Java自带的类和方法,我们还可以使用一些第三方库来进行字符串转时间的操作。以下是两个常用的第三方库示例。

Joda-Time库

[Joda-Time](

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class StringToTimeExample {
    public static void main(String[] args) {
        String dateString = "2021-08-01 12:00:00";
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        DateTime dateTime = formatter.parseDateTime(dateString);
        
        System.out.println(dateTime);
    }
}

上面的代码中,我们首先创建了一个DateTimeFormatter对象,指定了时间的格式为"yyyy-MM-dd HH:mm:ss"。然后我们调用它的parseDateTime()方法,将字符串dateString转换为DateTime对象。

Apache Commons Lang库

[Apache Commons Lang](

import org.apache.commons.lang3.time.DateUtils;

import java.text.ParseException;

public class StringToTimeExample {
    public static void main(String[] args) {
        String dateString = "2021-08-01 12:00:00";
        String[] patterns = {"yyyy-MM-dd HH:mm:ss"};
        
        try {
            java.util.Date date = DateUtils.parseDate(dateString, patterns);
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

上面的代码中,我们调用了DateUtils类的parseDate()方法,将字符串dateString转换为java.util.Date对象。

4. 总结

本文介绍了在Java中进行字符串转时间的几种常见方式,包括使用SimpleDateFormat类、DateTimeFormatter类以及一些第三方库。通过这些方法,我们可以方便地将字符串表示的时间转换为Java中的时间对象