我想比较json值(日期)和我的手机(当前日期)。本月1日和当月16日

时间:2017-09-10 07:10:40

标签: android mysql json date datetime

我想将JSON值(日期)与手机上的数据(当前日期)进行比较。 实际上我的JSON只包含一个月的两个日期,第一个日期和一个月的第16个日期。现在我想显示JSON的最新日期,这个日期离手机日期更近了,即如果日期是1月1日至15日,那么该节目的第一个月是从JSON值获取的,如果它是在16日之后它显示从JSON值开始的那个月的第16个日期。

我可以通过以下方式检查我在吐司上的json值:

if(MY JSON ARRAY.toString().contains(VALUE WHICH I WANT TO COMPARE)){
}

但我不知道如何比较这些值并将其显示给TEXTVIEW

这是我的JSON:

{"result":[{"date":"1 October 2017"},{"date":"1 December 2017"},{"date":"16 
October 2017"},{"date":"16 December 2017"},{"date":"1 October 2017"},
{"date":"16 October 2017"},{"date":"16 December 2017"},{"date":"01 January 
2017"},{"date":"16 December 2017"},{"date":"09 September 2017"}]}

这是我的代码:

    // fetch date
    String url = ConfigOfDateMatch.DATA_URL;

    StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            showJSONdate(response);
        }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(DemoOfCompareDate.this, error.getMessage().toString(), Toast.LENGTH_LONG).show();
        }
    });

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

private void showJSONdate(String response) {
    try {
        JSONObject jsonObject = new JSONObject(response);
        JSONArray result = jsonObject.getJSONArray(ConfigOfDateMatch.JSON_ARRAY);
        for(int i = 0; i < result.length(); i++) {
            JSONObject date = result.getJSONObject(i);

        //from where I got the current date
        String compre = textviewlatestdate1.getText().toString();

        if(result.toString().contains(compre)){
            Toast.makeText(getApplicationContext(), "Yes there is a date in this Json", Toast.LENGTH_SHORT).show();
        }
        else {
            Toast.makeText(getApplicationContext(), "NOPE", Toast.LENGTH_SHORT).show();
        }
    }
} catch (JSONException e) {
    e.printStackTrace();
}

这就是我当前约会的时间(MONTH IN ALPHABET):

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd MMMM yyyy");
String currentDateandTime = sdf.format(new Date());

//I set my current date to textview
textviewlatestdate1.setText(currentDateandTime);

0 个答案:

没有答案