J'ai un objet JSON de date comme celui-ci:

"date_created": {
    "date": "2016-06-16 11:47:21.000000"}

Et ma classe java:

    protected String doInBackground(String... params){
        try{
            List<NameValuePair> params1 = new ArrayList<>();
            params1.add(new BasicNameValuePair("id", idkbj));
            final JSONObject json = jsonParser.makeHttpRequest(url_kbj + "/" + idkbj + "/", "GET", params1);
            final JSONObject data = json.getJSONObject("data");

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    TextView date = (TextView) findViewById(R.id.date);

                    try{
                        JSONObject date_cre = data.getJSONObject("date_created");
                        String date_d = date_cre.getString("date");

                        date.setText(date_d);

                    }
                    catch (JSONException e){
                        e.printStackTrace();
                    }
                    catch (Exception e){
                        e.printStackTrace();
                    }
                }
                });
    }

Comment analyser l'objet date pour afficher la sortie vers "16 Jun 2016"?

-7
retrospectrum 2 août 2017 à 12:38

2 réponses

Meilleure réponse

Vous pouvez utiliser java.text.SimpleDateFormat pour ce genre de fins.

   String a="2016-06-16 11:47:21.000000";
   SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   SimpleDateFormat sdf2=new SimpleDateFormat("dd MMM yyyy");
   Date date=sdf1.parse(a);
   System.out.println(sdf2.format(date));
0
yılmaz 2 août 2017 à 09:48
 String date="2016-06-16 11:47:21.800000";
    SimpleDateFormat spf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
    Date newDate= null;
    try {
        newDate = spf.parse(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    spf= new SimpleDateFormat("dd MMM yyyy");
    date = spf.format(newDate);
    Log.e("date",date);

MODIFIER

SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSSSSS");
    SimpleDateFormat destFormat = new SimpleDateFormat("dd MMM, yyyy");

    Date date = null;

        try {
            date = sourceFormat.parse("2016-06-16 11:47:21.000000");
        } catch (java.text.ParseException e) {
            e.printStackTrace();
        }

    String formattedDate = destFormat.format(date);

    Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show(); 

Les deux codes fonctionnent.

-1
jigar savaliya 3 août 2017 à 04:22