Java android中月份编号中的月份名称
我在将月号转换为月名时遇到问题,即如果月号1或2只返回三月。但是对于1,它应该在2月返回,对吗?以前我有一天也遇到过同样的问题,但第二天我就不知道了;怎么会?但今天又是这样,我需要一些帮助来修复它Java android中月份编号中的月份名称,java,android,datepicker,monthcalendar,Java,Android,Datepicker,Monthcalendar,我在将月号转换为月名时遇到问题,即如果月号1或2只返回三月。但是对于1,它应该在2月返回,对吗?以前我有一天也遇到过同样的问题,但第二天我就不知道了;怎么会?但今天又是这样,我需要一些帮助来修复它 public static String getMonthShortName(int monthNumber) { String monthName = ""; if (monthNumber >= 0 && monthNumber < 12)
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;
}
它只在三月回归。但对于其他数字来说,效果很好。你们中有谁能帮我解决这个问题吗?这个问题之所以出现,是因为二月不到30天 例如,今天运行(2014年4月30日): 返回值
Sun Mar 02 14:52:28 CET 2014
您应该在设置月份之前添加代码:calendar.set(Calendar.DAY_OF_MONTH, 1);
以下代码用于返回正确的月份名称
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);
这里的输出是科特林的六月
fun getMonthByNumber(monthnum:Int):String {
val c = Calendar.getInstance()
val month_date = SimpleDateFormat("MMMM")
c[Calendar.MONTH] = monthnum-1
return month_date.format(c.time)
}
谢谢你试试这个链接,你应该把它也标记为java问题……这是正确的解决方案,我在我的应用程序中使用了类似的东西。谢谢。。。我的代码也是这样的。。。如果我给5它将工作良好的问题与1和2只。。。在过去的3个月里,我一直在使用我的代码。我想这是它第二次显示1和2的错误结果。请您将系统时间设置为3月31日,然后调用代码序列,好吗?你可能会有一个惊喜。。。
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);
fun getMonthByNumber(monthnum:Int):String {
val c = Calendar.getInstance()
val month_date = SimpleDateFormat("MMMM")
c[Calendar.MONTH] = monthnum-1
return month_date.format(c.time)
}