我在字符串变量中有相应的月份名称,例如JANUARY或FEBRUARY。
现在如何使用此String变量在java中设置Calendar对象的月份。
我尝试通过calendar.set方法进行设置,但它只需要int值。
答案 0 :(得分:0)
您可以使用反射来提取字段的值(请参阅monthValue()
函数)。
public class Main {
public static void main(String[] args)
throws NoSuchFieldException, IllegalAccessException {
Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, monthValue("January"));
System.out.println(c.getTime());
}
public static int monthValue(String monthName)
throws NoSuchFieldException, IllegalAccessException {
Field monthConstant = Calendar.class.getField(monthName.toUpperCase());
return monthConstant.getInt(null);
}
}