0

显示日期时出现问题。我做的一切都很好,日期显示......糟糕,它不正确!

它说 2012/07/30 应该是 2012/08/30。

我已经在手机上查看了我的日期,它是正确的。你有什么主意吗?

谢谢!!

一段代码:

 Calendar c = Calendar.getInstance();
 String sDate = c.get(Calendar.DAY_OF_MONTH) + "/" + c.get(Calendar.MONTH) + "/" +  c.get(Calendar.YEAR);

 view2.setText("" + et.getText()  + sDate );
4

3 回答 3

1

你为什么不使用DateFormat

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
view2.setText(dateFormat.format(c.getTime());
于 2012-08-30T20:47:20.643 回答
1

Calendar 对象无法按预期工作。get(Calendar.MONTH) 返回一个表示日期月份的常量,而不是月份的编号。这种细微的差别可以在这里看到: java.util.calendar

正如您将看到的,常量反映了从一月开始的从零开始的序列,因此您可以将常量用作数组中的索引器,以进行基于月份的查找。

出于您的目的,您可以将 1 添加到返回的 int 中,但您可能希望查看java.text 中的SimpleDateFormat本文提供了简要概述以帮助您入门。

祝你好运!

于 2012-08-30T20:56:53.903 回答
0

你可以改用这个,

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String currentDateandTime = sdf.format(new Date())
于 2012-08-30T20:50:02.467 回答