Java字符串转化date

由于Java中的日期类型只有Date类型,而Mysql中即有date型,又有datetime型,当我们想要在 java中获取Mysql中datetime类型的数据或向Mysql数据库中插入datetime类型的数据时,需要做 转换。

java_日期格式转换

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

public class Example {
    public static void main(String[] args) {
        String dateString = "2022-01-01";
        
        // 创建一个 DateTimeFormatter 对象,指定日期格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        
        try {
            // 将字符串解析为 LocalDate 对象
            LocalDate date = LocalDate.parse(dateString, formatter);
            
            // 打印 LocalDate 对象
            System.out.println(date);
        } catch (DateTimeParseException e) {
            System.out.println("无效的日期格式");
            e.printStackTrace();
        }
    }
}

在上述示例中,我们首先创建了一个SimpleDateFormat对象,并指定日期格式为"yyyy-MM-dd",这与输入字符串的格式相匹配。

然后,我们使用parse()方法将字符串解析为日期对象。如果解析成功,将返回一个Date对象,否则将抛出ParseException异常。

最后,我们打印日期对象,可以看到它以默认格式输出。

需要注意的是,SimpleDateFormat类的日期格式模式是区分大小写的。例如,"yyyy-MM-dd"表示年份是4位数,月份和日期是2位数。如果输入字符串与指定的日期格式不匹配,将会抛出ParseException异常。

此外,SimpleDateFormat类还提供了许多其他方法,例如format()方法可以将日期对象格式化为字符串,setLenient()方法可以设置解析过程是否宽松等。

当使用SimpleDateFormat类将字符串转换为日期对象时,还需要注意以下几点:

  1. 日期格式模式:在指定日期格式时,需要根据输入字符串的格式选择适当的日期格式模式。常见的日期格式模式包括:

    • 年份:yyyy表示4位数年份,yy表示2位数年份。
    • 月份:MM表示2位数月份,M表示1位或2位数月份。
    • 日期:dd表示2位数日期,d表示1位或2位数日期。
    • 小时:HH表示24小时制的2位数小时,H表示24小时制的1位或2位数小时,hh表示12小时制的2位数小时,h表示12小时制的1位或2位数小时。
    • 分钟:mm表示2位数分钟,m表示1位或2位数分钟。
    • 秒钟:ss表示2位数秒钟,s表示1位或2位数秒钟。
    • 毫秒:SSS表示3位数毫秒。
    • AM/PM:a表示上午/下午标记。
  2. 日期格式化:除了将字符串转换为日期对象,SimpleDateFormat类还提供了format()方法,用于将日期对象格式化为字符串。可以根据需要指定不同的日期格式模式,将日期对象转换为特定格式的字符串。

综上所述,使用SimpleDateFormat类可以方便地将字符串转换为日期对象,但需要注意日期格式模式的选择、异常处理和线程安全性。

你可能感兴趣的:(java,mysql,开发语言)