如何获取day_of_month,month和year作为整数的参数?
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar start_date = Calendar.getInstance();
System.out.println(dateFormat.format(start_date.getTime()));
int day = start_date.get(Calendar.DAY_OF_MONTH);
int month = start_date.get(Calendar.MONTH);
int year = start_date.get(Calendar.YEAR);
String result = day + "/" + month + "/" + year;
但是,今天的日期是:2012年12月1日,而结果是:2012年1月11日。
最佳答案
这是预期的行为。月份从0到11。您可以通过发出以下命令进行检查:
System.out.println(Calendar.JANUARY);
Calendar
Calendar.MONTH in particular
顺便说一句,要将日期转换为字符串,您应该真正使用SimpleDateFormat
new SimpleDateFormat("dd/MM/yyyy").format(start_date.getTime());
(旁注,但很重要:SimpleDateFormat不是线程安全的,也不是线程安全的,因此不要尝试在多线程环境中将它们用作静态实例来进行优化!API文档:
Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
中也有说明)关于java - 将Date作为整数获取参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13659518/