从数据库中获取日期并在Java中进行比较

时间:2015-09-18 00:05:51

标签: java android mysql string date

我很难从MYSQL服务器获取日期字符串(这是一个日期,但我将其作为String接收),并将其转换为我的Android应用程序中的Date格式。我需要将它转换为Date(或等效的),因为我需要比较我从服务器获取的日期并检测最新的日期。

提前致谢,任何帮助都会被贬低

这是我的代码:

private void makeJsonObjectRequest() {

            String nuevoUrl = url + "?unidad=" + unidad.getText().toString();
            JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
                    nuevoUrl , new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    Log.d(TAG, response.toString());

                    try {
                        // Parsing json object response
                        // response will be a json object
                        //Esta linea de abajo convierte el array en lista de objetos
                        medidores = response.getJSONArray("medidor");

                        //Esto sirve para convertir el srting de fecha a tipo Date
                        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        ParsePosition pos = new ParsePosition(0);



                        //Este es un array de objetos "medidor" (clase java)
                        medidor med[] = new medidor[medidores.length()];

                        for (i=0;i<medidores.length();i++) {
                            JSONObject objeto = medidores.getJSONObject(i);


                            String sunidad = objeto.getString("unidad");
                            String stpo_med = objeto.getString("tpo_med");
                            String snum_med = objeto.getString("num_med");
                            String sfec_med = objeto.getString("fec_med");
                            String sest_med = objeto.getString("est_med");


                            //Date fecha = formatter.parse(sfec_med,pos);


                            //med[i] = new medidor(sunidad,stpo_med,snum_med,fecha,sest_med);
                            /*
                            med[i].setUnidad(sunidad);
                            med[i].setTpo_med(stpo_med);
                            med[i].setNum_med(snum_med);
                            med[i].setFec_med(fecha);
                            med[i].setEst_med(sest_med);
                            */
                            /*
                            if(i>0 && mayor.before(fecha2)) {

                                //La fecha i es mayor a la fecha i-1
                                mayor = fecha2;
                            }
                                else{
                                    //mayor = med[i-1].getFec_med();
                                }*/

                            jsonResponse = "La mayor fecha es: " + sfec_med;

                            /*jsonResponse += "";
                            jsonResponse += "Unidad: " + sunidad + "\n\n";
                            jsonResponse += "Tipo medidor: " + stpo_med + "\n\n";
                            jsonResponse += "Num medidor: " + snum_med + "\n\n";
                            jsonResponse += "Fecha medicion: " + sfec_med + "\n\n";
                            jsonResponse += "Estado medido: " + sest_med + "\n\n";
                            */
                        }

                        usuario.setText(jsonResponse);

                    } catch (JSONException e) {
                        e.printStackTrace();
                        Toast.makeText(getApplicationContext(),
                                "Error: " + e.getMessage(),
                                Toast.LENGTH_LONG).show();
                    }

                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    VolleyLog.d(TAG, "Error: " + error.getMessage());
                    Toast.makeText(getApplicationContext(),
                            error.getMessage(), Toast.LENGTH_SHORT).show();

                }
            }) {


            };




            // Adding request to request queue

            AppController.getInstance().addToRequestQueue(jsonObjReq);
        }

2 个答案:

答案 0 :(得分:0)

String sqlDateTimeString = "2015-09-24 18:56:15.089";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = format.parse(sqlDateTimeString);

答案 1 :(得分:0)

为什么不把日期保存为LONG? 插入:date.getTime(); 获取:新日期(“长期在这里”);