HIHO 有人可以告诉我为什么这些代码不能正常工作吗?
private Calendar dateTime = Calendar.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eintragen);
this.dh = new DataHelper(this);
EditText Datum = (EditText) findViewById(R.id.et_meerwasser_wasserwerte_eintragen_datum);
Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+dateTime.get(Calendar.MONTH)+"."+dateTime.get(Calendar.YEAR));
}
每次我启动应用程序时都会告诉我:03.7.2011 但实际日期是03.08.2011
我重新启动手机并取下电池
亲切的问候 亚历
答案 0 :(得分:2)
这是因为Month将被视为0而不是1。 尝试像这样修改你的代码,
private Calendar dateTime = Calendar.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eintragen);
this.dh = new DataHelper(this);
EditText Datum = (EditText) findViewById(R.id.et_meerwasser_wasserwerte_eintragen_datum);
Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+dateTime.get((Calendar.MONTH)+1)+"."+dateTime.get(Calendar.YEAR));
}
因此,您必须将月份的值增加1才能获得当前月份。
答案 1 :(得分:1)
在月份中添加+1。因为月份从0开始,而不是在此CalendarSo中为1,因此1月份您将获得0而不是1。
Datum.setText(dateTime.get(Calendar.DAY_OF_MONTH)+"."+(dateTime.get(Calendar.MONTH)+1)+"."+dateTime.get(Calendar.YEAR));
}