我想以2012年4月22日的格式显示日期。 我正在使用此代码:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
sdf.applyPattern("dd MMM yyyy");
Date x = new Date(time.year,time.month,time.monthday);
System.out.println(sdf.format(x));
但是我得到了o / p: 22 a 3912。 我想知道为什么它代表2012年显示3912。
答案 0 :(得分:1)
请阅读日期课程的api。它从1900年开始,所以在这个构造函数中你必须提供日期 - 1900.但是这个构造函数已被弃用,所以我的建议是开始使用Calendar对象进行与日期相关的操作。 for Java.da
答案 1 :(得分:1)
Calendar cal=Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy");
String dateresult = sdf.format(cal.getTime());
答案 2 :(得分:1)
SimpleDateFormat dateformate = new SimpleDateFormat("dd-MMM-yyyy");
Calendar currentDate = Calendar.getInstance();
String currentDateStr = dateformate.format(currentDate.getTime());
Log.i("Infoe ", " " + currentDateStr.toString());
System.out.println("Current date is : " + currentDateStr);
////=== OR
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
sdf.applyPattern("dd-MMM-yyyy");
Date x = new Date(currentDate.get(Calendar.YEAR) - 1900,
currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_MONTH));
Log.i("Infoe ", " " + sdf.format(x));
System.out.println(sdf.format(x));
它的3912 bcz ...日期设置为...... Calendar.set(年份+ 1900,月份,日期)或GregorianCalendar(年份+ 1900,月份,日期)。 根据GregorianCalendar
我认为使用日历是gd,因为日期已被弃用... nd为日期格式使用dd-MMM-yyyy no dd-MM-yyyy bcz你想要一个月前2个字符... For date Format