Дата цикла не отсортирована (android studio)
Когда-то давно я был постом с помощью петли..
пример :
сегодня 10/28/2020
затем я ввожу данные через 3 дня после этого...
так что выход есть
10/28/2020
10/29/2020
10/30/2020
вот мой код для поста с датой цикла :
private void khusus() throws ParseException { pDialog = new ProgressDialog(this); showDialog(); pDialog.setContentView(R.layout.progress_dialog); pDialog.getWindow().setBackgroundDrawableResource( android.R.color.transparent ); final int num3 = (int) Double.parseDouble(hari.getText().toString()); int i; String date = edittext.getText().toString(); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); final Calendar c = Calendar.getInstance(); c.setTime(sdf.parse(date)); for (i = 1; i <= num3; i++) { final String tanggal = sdf.format(c.getTime()); c.add(Calendar.DATE, 1); System.out.println("Tanggal = " + tanggal); StringRequest stringRequest2 = new StringRequest(Request.Method.POST, "http://10.12.0.220/db_eis/cuti_khusus_insert.php", new Response.Listener<String>() { @Override public void onResponse(String response) { hideDialog(); Toast.makeText(getApplicationContext(), "data sudah dimasukkan", Toast.LENGTH_LONG).show(); cutikhusus.this.finish(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { hideDialog(); Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<String, String>(); sharedPreferences = getSharedPreferences("user_details", MODE_PRIVATE); String pengajuan = nopengajuan.getText().toString(); String nik_baru = sharedPreferences.getString(KEY_NIK, null); String jabatan = txt_nomor_jabatan.getText().toString(); String jenis = jeniscuti.getText().toString(); String kondisi = spinner.getSelectedItem().toString(); String keterangan_khusus = keterangan.getText().toString(); String gambar = imagetoString(bitmap); params.put("no_pengajuan_khusus", pengajuan); params.put("nik_cuti_khusus", nik_baru); params.put("jabatan_cuti_khusus", jabatan); params.put("jenis_cuti_khusus", jenis); params.put("kondisi", kondisi); params.put("start_cuti_khusus", tanggal); params.put("ket_tambahan_khusus", keterangan_khusus); params.put("status_cuti_khusus", "0"); params.put("status_cuti_khusus_2", "0"); params.put("dokumen_cuti_khusus", gambar); return params; } }; stringRequest2.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); RequestQueue requestQueue2 = Volley.newRequestQueue(this); requestQueue2.add(stringRequest2); } }
Что я уже пробовал:
в этом случае, когда я ввожу 5, все в порядке, потому что он хорошо сортируется в mysql
10/28/2020
10/29/2020
10/30/2020
10/31/2020
11/01/2020
но когда я ввожу более 20, это не очень хорошо сортируется в mysql
10/23/2020
10/29/2020
10/21/2020
11/01/2020
11/19/2020
|
|
|
и т.д...
Итак, это код, который я использовал для post with loop...
int i; String date = edittext.getText().toString(); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); final Calendar c = Calendar.getInstance(); c.setTime(sdf.parse(date)); for (i = 1; i <= num3; i++) { final String tanggal = sdf.format(c.getTime()); c.add(Calendar.DATE, 1); System.out.println("Tanggal = " + tanggal);
а это я использовал его для почты...
@Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<String, String>(); sharedPreferences = getSharedPreferences("user_details", MODE_PRIVATE); String pengajuan = nopengajuan.getText().toString(); String nik_baru = sharedPreferences.getString(KEY_NIK, null); String jabatan = txt_nomor_jabatan.getText().toString(); String jenis = jeniscuti.getText().toString(); String kondisi = spinner.getSelectedItem().toString(); String keterangan_khusus = keterangan.getText().toString(); String gambar = imagetoString(bitmap); params.put("no_pengajuan_khusus", pengajuan); params.put("nik_cuti_khusus", nik_baru); params.put("jabatan_cuti_khusus", jabatan); params.put("jenis_cuti_khusus", jenis); params.put("kondisi", kondisi); params.put("start_cuti_khusus", tanggal); params.put("ket_tambahan_khusus", keterangan_khusus); params.put("status_cuti_khusus", "0"); params.put("status_cuti_khusus_2", "0"); params.put("dokumen_cuti_khusus", gambar); return params; } };
David Crow
"...это не очень хорошо сортируется в mysql"
Что делает ваш SELECT
заявление выглядит так? Какой тип поля используется для даты?
Komang Putra
я использую дату, а затем преобразую ее в строку
David Crow
Разве это не должно быть настоящим DATE
типаж? Если вы используете CHAR
или TEXT
вместо этого вам нужно будет сохранить свои значения даты в виде ГГГГММДД вместо.
Komang Putra
да, у меня уже есть это значение даты, но оно не сортируется
David Crow
- да, у меня уже есть это значение даты..."
Дата ценность и его визуальный формат это две разные вещи. На что вы намекаете?
"...но он продолжает не сортироваться"
Вы не показали никакого кода сортировки.
Komang Putra
визуальный формат