localdate/localdatetime与string的互相转换示例(附代码)
在Java中,有很多日期时间相关的类型,例如LocalDate、LocalDateTime、Date等等。在实际开发中我们会面临将这些类型转换为String的需求,或者将String类型的日期时间转换为这些类型。本文将介绍如何使用Java 8的新日期时间API和SimpleDateFormat类进行各种日期时间类型之间的互相转换。
LocalDate和String的互相转换
LocalDate转换为String
使用DateTimeFormatter类将LocalDate转换为String类型。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateToString {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
String formattedDate = localDate.format(dateTimeFormatter);
System.out.println(formattedDate); // 输出:06/23/2021
}
}
在这个示例中,我们使用DateTimeFormatter类通过指定格式将当前LocalDate对象转换为String类型。format()方法以指定格式返回LocalDate的字符串表示形式。
String转换为LocalDate
String类型的日期可以使用DateTimeFormatter类转换为LocalDate类型。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class StringToLocalDate {
public static void main(String[] args) {
String stringDate = "06/23/2021";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDate localDate = LocalDate.parse(stringDate, dateTimeFormatter);
System.out.println(localDate); // 输出:2021-06-23
}
}
在这个示例中,我们使用DateTimeFormatter类将String类型的日期转换为LocalDate类型。使用parse()方法将指定的字符串解析为LocalDate。
LocalDateTime和String的互相转换
LocalDateTime转换为String
使用DateTimeFormatter类将LocalDateTime转换为String类型。
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LocalDateTimeToString {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
String formattedDateTime = localDateTime.format(dateTimeFormatter);
System.out.println(formattedDateTime); // 输出:06/23/2021 16:53:45
}
}
在这个示例中,我们使用DateTimeFormatter类通过指定格式将当前LocalDateTime对象转换为String类型。format()方法以指定格式返回LocalDateTime的字符串表示形式。
String转换为LocalDateTime
String类型的日期时间可以使用DateTimeFormatter类转换为LocalDateTime类型。
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class StringToLocalDateTime {
public static void main(String[] args) {
String stringDateTime = "06/23/2021 16:53:45";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(stringDateTime, dateTimeFormatter);
System.out.println(localDateTime); // 输出:2021-06-23T16:53:45
}
}
在这个示例中,我们使用DateTimeFormatter类将String类型的日期时间转换为LocalDateTime类型。使用parse()方法将指定的字符串解析为LocalDateTime。
总结
使用Java 8的新日期时间API和SimpleDateFormat类可以轻松地完成各种日期时间类型之间的转换。使用上述示例代码可以让您更好地理解日期时间类型之间的转换。但是,请注意,SimpleDateFormat类不是线程安全的,如果在多线程环境中使用可能会出现问题。因此,最好的方法是使用ThreadLocal,或者使用Java 8的新日期时间API。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:localdate/localdatetime与string的互相转换示例(附… - Python技术站