默认日期年份设定为1970年
我需要解析一个原本没有设置年份的字符串,如“13 Aug 11:30”
但是当我输出它添加年份的日期时,我尝试了设置年份,但是年份是完全错误的输出来自“Thu Aug 13 11:30:00 GMT 3911”
有没有办法在解析日期后设置年份?
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM HH:mm"); String dateStr = "13 Aug 11:30"; Date fromDate = (Date)formatter.parse(dateStr); fromDate.setYear(2011);
使用Calendar
设置年份:
Calendar c = Calendar.getInstance(); c.setTime(fromDate); c.set(Calendar.YEAR, 2011); fromDate = c.getTime();
您是否阅读过setYear
方法的API?
将此Date对象的年份设置为指定值加上1900
2011 + 1900 = 3911
java.util.Date
的文档很清楚地表明setYear()
在传入的年份中增加了1900个。只需从你的参数中减去1900。