ANDROID从日期(JSON)中获取日-月-年并保存在变量中
我的Android代码有问题。我只想从json中获取日期。 然后我想和他们约会,我想和他们一起做一个AlarmManager。 但问题是,变量“月-年-日”中有一些与日期实际不同的整数值。 日期格式如下:2014年4月20日ANDROID从日期(JSON)中获取日-月-年并保存在变量中,android,json,date,Android,Json,Date,我的Android代码有问题。我只想从json中获取日期。 然后我想和他们约会,我想和他们一起做一个AlarmManager。 但问题是,变量“月-年-日”中有一些与日期实际不同的整数值。 日期格式如下:2014年4月20日 预计:2014年4月20日,但产量:日=0月=2年=114 有人在我的代码中看到错误的东西吗? 谢谢:) 我的Longclick侦听器: listv.setOnItemLongClickListener(new AdapterView.OnItemLongC
预计:2014年4月20日,但产量:日=0月=2年=114 有人在我的代码中看到错误的东西吗? 谢谢:) 我的Longclick侦听器:
listv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
Object o = listv.getItemAtPosition(pos);
JsonStrings obj= (JsonStrings)o;
Date date=obj.ConvertToDate(obj.begin);
Calendar calendar = Calendar.getInstance();
int month = date.getMonth()-1;
int year=date.getYear();
int day=date.getDay();
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.DAY_OF_MONTH, day);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM, Calendar.PM);
Intent myIntent = new Intent(MainActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
return true;
}
});
发布输出/预期输出。预期:2014年4月20日,但输出:日=0月=2年=114所以年是正确的,月也是正确的(什么是
date.getMonth()-1;
应该怎么做?)。至于day,请阅读文档。不需要从日期到日历的对话,Date有一个getTime
方法,该方法在正确的时间范围内返回毫秒。obj.begin的值是多少?obj.begin=20.04.2014在JSON数据的字符串中
public class JsonStrings {
public String name;
public String kategorie;
public String begin;
public String end;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getKategorie() {
return kategorie;
}
public void setKategorie(String kategorie) {
this.kategorie = kategorie;
}
public String getBegin() {
return begin;
}
public void setBegin(String begin) {
this.begin = begin;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public Date ConvertToDate(String date) {
String str_date = date;
DateFormat formatter;
formatter = new SimpleDateFormat("dd.MM.yyyy");
Date newdate = null;
try {
newdate = (Date) formatter.parse(str_date);
} catch (ParseException e) {
e.printStackTrace();
}
return newdate;
}