Android, ¿Cómo puedo convertir la cadena a la fecha?

Guardo la hora actual en la base de datos cada vez que la aplicación comienza por el usuario.

Calendar c = Calendar.getInstance(); String str = c.getTime().toString(); Log.i("Current time", str); 

En el lado de la base de datos, almacenar la hora actual como cadena (como se ve en el código anterior). Por lo tanto, cuando lo cargue desde la base de datos, necesito convertirlo en objeto Date. Vi algunas muestras que todos ellos habían utilizado "DateFormat". Pero mi formato es exactamente igual que el formato de fecha. Por lo tanto, creo que no hay necesidad de utilizar "DateFormat". ¿Estoy bien?

¿Hay de todos modos para lanzar directamente este objeto String a la fecha? Quiero comparar este tiempo almacenado con la hora actual.

Gracias

======> Actualizar

Gracias cariñosos. He utilizado el código siguiente:

 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; } 

De la cadena hasta la fecha

 String dtStart = "2010-10-15T09:27:37Z"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); try { Date date = format.parse(dtStart); System.out.println(date); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

De la Fecha a la Cadena

 SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); try { Date date = new Date(); String datetime = dateFormat.format(date); System.out.println("Current Date Time : " + datetime); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } 
 SimpleDateFormat dateFormat = new SimpleDateFormat("DD-MM-YYYY"); Date d = dateFormat.parse(datestring) 

Usando la clase SimpleDateFormat o DateFormat a través de

Por ejemplo

 try{ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // here set the pattern as you date in string was containing like date/month/year Date d = sdf.parse("20/12/2011"); }catch(ParseException ex){ // handle parsing exception if date string was different from the pattern applying into the SimpleDateFormat contructor } 

Podría ser una buena idea tener cuidado con la c.getTime().toString(); regional en la que c.getTime().toString(); Depende.

Una idea es almacenar el tiempo en segundos (por ejemplo, tiempo UNIX ). Como un int usted puede compararlo fácilmente, y después usted lo convierte justo a la secuencia al exhibirlo al usuario.

  • Ellipsize sólo una sección en un TextView
  • Cómo mostrar un formato doble como un precio en una vista de texto en android
  • Escribir archivo .json y leer ese archivo en Android
  • Necesito una cadena que empiece con el número de mi cadena de entrada
  • Fórmula química en Android
  • String-array dentro de string-array
  • Android convertir Cadena a byte - tomar byte en las piezas
  • Enviar una cadena en Android con HttpPost sin usar nameValuePairs
  • String-arrays de referencia en android strings.xml
  • ¿Cómo puedo obtener una cadena de mi respuesta http android?
  • Byte array -> String -> Conjunto de bytes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.