And*_*oid 5 java android monthcalendar datepicker
将月份号码转换为月份时遇到问题如果月号为1或2,则仅返回3月份.但对于1,它应该返回2月对吗?以前我有同样的问题一天,但第二天它自动工作,我不喜欢?如何?但今天再次显示这样我需要一些帮助来修复它
public static String getMonthShortName(int monthNumber) {
String monthName = "";
if (monthNumber >= 0 && monthNumber < 12)
try {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, monthNumber);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM");
//simpleDateFormat.setCalendar(calendar);
monthName = simpleDateFormat.format(calendar.getTime());
} catch (Exception e) {
if (e != null)
e.printStackTrace();
}
return monthName;
}
Run Code Online (Sandbox Code Playgroud)
如果此语句中的monthNumber为1或2
monthName = simpleDateFormat.format(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)
它只返回3月(3月).但对于其他数字,它的工作正常.任何人都可以帮我解决这个问题吗?
以下代码返回正确的月份名称.
Calendar cal=Calendar.getInstance();
SimpleDateFormat month_date = new SimpleDateFormat("MMMM");
int monthnum=5;
cal.set(Calendar.MONTH,monthnum);
String month_name = month_date.format(cal.getTime());
Log.e("",""+month_name);
Run Code Online (Sandbox Code Playgroud)
这里的输出是六月
出现此问题是因为 2 月还不到 30 天。
例如,今天运行(30.04.2014):
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, 1);
System.out.println(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)
回报
Sun Mar 02 14:52:28 CET 2014
Run Code Online (Sandbox Code Playgroud)
您应该在设置月份之前添加代码:
calendar.set(Calendar.DAY_OF_MONTH, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7458 次 |
| 最近记录: |