将“yyyy-MM-dd'T'HH:mm:ss”装换为yyyy-MM-dd'T'HH:mm:ss.SSS'Z'的方法
时间: 2024-01-19 13:05:00 浏览: 142
可以使用Java中的SimpleDateFormat类来将“yyyy-MM-dd'T'HH:mm:ss”格式的日期字符串转换为“yyyy-MM-dd'T'HH:mm:ss.SSS'Z'”格式的日期字符串。具体代码如下:
```java
String inputDateString = "2021-11-11T11:11:11";
String outputDateFormatString = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
SimpleDateFormat inputDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
inputDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = inputDateFormat.parse(inputDateString);
SimpleDateFormat outputDateFormat = new SimpleDateFormat(outputDateFormatString);
outputDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String outputDateString = outputDateFormat.format(date);
System.out.println(outputDateString);
```
解释一下代码:
1. 首先定义输入日期字符串和输出日期格式字符串。
2. 创建SimpleDateFormat对象inputDateFormat,用于解析输入日期字符串。这里设置了时区为UTC。
3. 调用inputDateFormat的parse方法,将输入日期字符串解析为Date对象。
4. 创建SimpleDateFormat对象outputDateFormat,用于格式化输出日期字符串。这里同样设置了时区为UTC。
5. 调用outputDateFormat的format方法,将Date对象格式化为输出日期字符串。
6. 最后输出输出日期字符串。
注意事项:
1. 在输入日期字符串和输出日期格式字符串中,字母'T'和'Z'需要用单引号括起来,以避免被解析成特殊字符。
2. 在创建SimpleDateFormat对象时,需要设置时区为UTC,否则会出现时区偏移问题。
3. 如果输入日期字符串中包含毫秒数,则会被保留下来并显示在输出日期字符串中。如果输入日期字符串中没有毫秒数,则输出日期字符串中毫秒数部分会自动补零。
阅读全文
相关推荐

















