Java字符串如何转化date
作者:安荒
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类将字符串转换为日期对象时,还需要注意以下几点:
日期格式模式
在指定日期格式时,需要根据输入字符串的格式选择适当的日期格式模式。
常见的日期格式模式包括:
- 年份:
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表示上午/下午标记。
日期格式化
除了将字符串转换为日期对象,SimpleDateFormat类还提供了format()方法,用于将日期对象格式化为字符串。可以根据需要指定不同的日期格式模式,将日期对象转换为特定格式的字符串。
综上所述,使用SimpleDateFormat类可以方便地将字符串转换为日期对象,但需要注意日期格式模式的选择、异常处理和线程安全性。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
