我想你们有些人读过这个标题,并且“哦,另一个关于
java的基于0的月系统的问题……”.好吧,不是这次.
在我们切换到夏令时之后,我的java日历对象表现得很好.将月份设置为JUNE,实际上将其设置为7月.我不知道为什么,但有人建议我在日历的构造函数参数中设置Locale – 对象.那没用.以下代码在我的控制台中返回01-07-14.
有任何想法吗?
public class test {
public static void main(String[] args){
Locale locale = new Locale("da-DK");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
Calendar date = new GregorianCalendar(locale);
date.set(Calendar.MONTH, Calendar.JUNE);
System.out.println(sdf.format(date.getTime()));
}
}
更新:
这也会返回01-07-14
public class test {
public static void main(String[] args){
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
TimeZone timeZone = TimeZone.getTimeZone("Europe/Copenhagen");
Calendar date = new GregorianCalendar(timeZone);
date.set(Calendar.MONTH, Calendar.JUNE);
System.out.println(sdf.format(date.getTime()));
}
}