我试图解析 MySql
格式的数据,遇到了 SimpleDateFormat
。我可以得到正确的日期和月份,但我得到了一个奇怪的年份结果:
date = 2009-06-22;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(date);
System.println(date);
System.println(d.getDate());
System.println(d.getMonth());
System.println(d.getYear());
输出:
2009-06-22
22 OK
5 Hum... Ok, months go from 0 to 11
109 o_O WTF ?
我尝试将格式更改为 YYYY-MM-dd
(出现错误)和 yy-MM-dd
(什么也没做)。我在 Android 上编程,不知道它是否重要。
目前,我使用拆分绕过它,但它很脏,阻止我使用 i18n 功能。
最佳答案
年份是相对于 1900 年的。这是 Date
类的一个“特征”。尝试使用 Calender
。
关于java - 为什么我不能在 Java 中使用 SimpleDateFormat 获得正确的年份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028139/