Guardo la hora actual en la base de datos cada vez que la aplicación comienza por el usuario.Android, ¿cómo puedo convertir cadena hasta la fecha?
Calendar c = Calendar.getInstance();
String str = c.getTime().toString();
Log.i("Current time", str);
En el lado de la base de datos, guardo la hora actual como una cadena (como se ve en el código anterior). Por lo tanto, cuando lo cargo desde la base de datos, necesito convertirlo en el objeto Date. Vi algunas muestras que todos ellos habían usado "DateFormat". Pero mi formato es exactamente igual al formato de fecha. Por lo tanto, creo que no es necesario usar "DateFormat". ¿Estoy en lo cierto?
¿Hay alguna forma de lanzar directamente este objeto String to Date? Quiero comparar este tiempo almacenado con la hora actual.
Gracias
======> actualización
Gracias queridos chicos. Solía siguiente código:
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;
}
Exactamente: es mejor aplicar algún formulario estándar a la cadena de fecha antes de almacenarlo en la base de datos. En este caso http://en.wikipedia.org/wiki/ISO_8601 –
Para una solución más estrictamente funcional en "cadena hasta la fecha", es conveniente agregar "format.setLenient (false);" antes del intento ... atrapar bloque. De esta forma, la comprobación de una fecha de cadena anteriormente correcta será mejor. – Alecs