java8将字符串转成如下格式yyyy-MM-dd'T'HH:mm:ss.SSSXXX的日期
时间: 2024-09-23 14:05:52 浏览: 141
在Java 8中,你可以使用`LocalDateTime`和`ZonedDateTime`类以及它们的`format()`方法来按照给定的模式转换日期时间字符串。`yyyy-MM-dd'T'HH:mm:ss.SSSXXX`是ISO 8601标准的日期时间格式,其中`T`表示时间的分隔符。
这里有一个示例,说明如何将当前日期时间转换为此格式:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now(); // 获取当前日期时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); // 定义日期时间格式
String formattedDate = now.format(formatter); // 转换并打印
System.out.println(formattedDate);
}
}
```
运行此程序,它将输出类似于`2023-04-25T15:30:00.000+08:00`这样的日期时间字符串。
相关问题
java8将字符串转成如下格式yyyy-MM-dd’T’HH:mm:ss.SSSXXX的LocalDate
在Java 8中,你可以使用`java.time`包下的`DateTimeFormatter`类来将日期字符串按照特定模式转换为`LocalDate`对象。首先,你需要创建一个`DateTimeFormatter`实例,指定日期时间的格式。对于"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"这种格式,可以这样做:
```java
String inputDateString = "2023-04-01T12:30:45.123+08:00"; // 例子日期时间字符串
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
LocalDate date = LocalDate.parse(inputDateString, formatter);
// 现在date变量存储的就是LocalDate对象,对应于输入的日期
```
这里,`parse`方法会尝试将给定的字符串按照格式解析为`LocalDate`。如果日期字符串不符合指定的格式,将会抛出异常。
日期格式转换yyyy-MM-dd'T'HH:mm:ss.SSSXXX (yyyy-MM-dd'T'HH:mm:ss.SSSZ) TO yyyy-MM-dd HH:mm:ss
可以使用 SimpleDateFormat 类来进行日期格式转换,具体代码如下:
```java
String inputDate = "2021-11-11T11:11:11.111+08:00";
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date date = inputFormat.parse(inputDate);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String outputDate = outputFormat.format(date);
System.out.println(outputDate); // 输出:2021-11-11 11:11:11
```
其中,inputDate 是输入的日期字符串,inputFormat 是输入日期字符串的格式,date 是转换后的 Date 对象,outputFormat 是输出日期字符串的格式,outputDate 是转换后的输出日期字符串。
阅读全文