Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANDROID从日期(JSON)中获取日-月-年并保存在变量中_Android_Json_Date - Fatal编程技术网

ANDROID从日期(JSON)中获取日-月-年并保存在变量中

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

我的Android代码有问题。我只想从json中获取日期。 然后我想和他们约会,我想和他们一起做一个AlarmManager。 但问题是,变量“月-年-日”中有一些与日期实际不同的整数值。 日期格式如下:2014年4月20日


预计: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;
}