Saya menyimpan waktu saat ini di basis data setiap aplikasi dimulai oleh pengguna.
Calendar c = Calendar.getInstance();
String str = c.getTime().toString();
Log.i("Current time", str);
Di sisi basis data, saya menyimpan waktu saat ini sebagai string (seperti yang Anda lihat dalam kode di atas). Oleh karena itu, ketika saya memuatnya dari database, saya harus melemparkannya ke objek Date. Saya melihat beberapa sampel yang semuanya menggunakan "DateFormat". Tetapi format saya persis sama dengan format Tanggal. Jadi, saya pikir tidak perlu menggunakan "DateFormat". Apakah saya benar?
Apakah ada pula untuk secara langsung melemparkan objek String to Date ini? Saya ingin membandingkan waktu yang disimpan ini dengan waktu saat ini.
Terima kasih
======> pembaruan
Terima kasih kawan. Saya menggunakan kode berikut:
private boolean isPackageExpired(String date){
boolean isExpired=false;
Date expiredDate = stringToDate(date, "EEE MMM d HH:mm:ss zz yyyy");
if (new Date().after(expiredDate)) isExpired=true;
return isExpired;
}
private Date stringToDate(String aDate,String aFormat) {
if(aDate==null) return null;
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat simpledateformat = new SimpleDateFormat(aFormat);
Date stringDate = simpledateformat.parse(aDate, pos);
return stringDate;
}
SimpleDateFormat.format()
melempar pengecualianSimpleDateFormat dateFormat =new SimpleDateFormat(""yyyy-MM-dd'T'HH:mm:ss'Z'"", Locale.getDefault());
sumber
menggunakan SimpleDateFormat atau DateFormat kelas melalui
untuk mis
sumber
Rabu 14 Maret 13:30:00 UTC 2018
14 Mar 2018
sumber
Ini bisa menjadi ide yang baik untuk berhati-hati dengan Lokal tempat
c.getTime().toString();
bergantung.Satu ide adalah untuk menyimpan waktu dalam hitungan detik (misalnya waktu UNIX ). Sebagai
int
Anda dapat dengan mudah membandingkannya, dan kemudian Anda hanya mengubahnya menjadi string ketika menampilkannya kepada pengguna.sumber
sumber