SimpleDateFormat日期转换多了一年
时间: 2024-01-01 15:23:34 浏览: 42
SimpleDateFormat是Java中用于日期格式化和解析的类。在使用SimpleDateFormat进行日期转换时,有一个常见的问题是混淆了小写的"yyyy"和大写的"YYYY"。这两个符号在日期格式中有不同的含义。
- "yyyy"表示年份,使用四位数表示,例如2021年。
- "YYYY"表示周年,即根据周的第一天来确定年份。如果日期跨越了两个年份的第一周,那么"YYYY"会返回下一年的年份。
在你提供的代码中,使用了"yyyy-MM-dd H:m:s"的格式进行日期解析。这意味着解析的年份是按照四位数表示的。所以,无论输入的日期是哪一年,解析后的结果都会是相同的年份。
如果你想要根据周的第一天来确定年份,可以使用"YYYY"来表示年份。这样,当日期跨越两个年份的第一周时,解析后的结果会返回下一年的年份。
以下是一个示例代码,演示了使用"YYYY"进行日期解析的情况:
```java
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd H:m:s");
String string = "2018-3-19 14:47:10";try {
Date parse = simpleDateFormat.parse(string);
System.out.println(parse);
} catch (ParseException e) {
e.printStackTrace();
}
```
在这个示例中,输入的日期是2018年3月19日,但由于这一天是2018年的第12周,解析后的结果会返回2019年的日期。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)