Memorizzo l'ora corrente nel database ogni volta che l'applicazione viene avviata dall'utente.Android, Come posso convertire la stringa in data?
Calendar c = Calendar.getInstance();
String str = c.getTime().toString();
Log.i("Current time", str);
Nel lato database, memorizzo l'ora corrente come stringa (come si vede nel codice precedente). Pertanto, quando lo carico dal database, ho bisogno di lanciarlo su oggetto Date. Ho visto alcuni campioni che tutti avevano usato "DateFormat". Ma il mio formato è esattamente uguale al formato della data. Quindi, penso che non sia necessario usare "DateFormat". Ho ragione?
Esiste comunque un cast diretto per questo oggetto String to Date? Voglio confrontare questo tempo memorizzato con l'ora corrente.
Grazie
======> aggiornamento
Grazie cari ragazzi. Ho usato seguente codice:
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;
}
Esattamente - è meglio applicare un modulo standard alla stringa di data prima di memorizzarlo nel database. In questo caso http://en.wikipedia.org/wiki/ISO_8601 –
Per una soluzione più strettamente funzionante su "stringa fino alla data", è conveniente aggiungere "format.setLenient (false);" prima del tentativo ... cattura blocco. In questo modo il controllo di una data della stringa precedentemente corretta sarà migliore. – Alecs