setsupportactionbar - programacion android pdf 2018
Android, ¿cómo puedo convertir String hasta la fecha? (6)
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, almaceno 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. Utilicé el 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;
}
De la cadena a 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) {
e.printStackTrace();
}
De fecha a 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) {
e.printStackTrace();
}
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 int
, puede compararlo fácilmente y luego convertirlo en una cadena cuando se lo muestra al usuario.
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
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MyClass
{
public static void main(String args[])
{
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy");
String dateInString = "Wed Mar 14 15:30:00 EET 2018";
SimpleDateFormat formatterOut = new SimpleDateFormat("dd MMM yyyy");
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatterOut.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
aquí está la fecha del objeto Fecha y el resultado es:
Mié 14 de mar 13:30:00 UTC 2018
14 de marzo de 2018
SimpleDateFormat dateFormat = new SimpleDateFormat("DD-MM-YYYY");
Date d = dateFormat.parse(datestring)
String source = "24/10/17";
String[] sourceSplit= source.split("/");
int anno= Integer.parseInt(sourceSplit[2]);
int mese= Integer.parseInt(sourceSplit[1]);
int giorno= Integer.parseInt(sourceSplit[0]);
GregorianCalendar calendar = new GregorianCalendar();
calendar.set(anno,mese-1,giorno);
Date data1= calendar.getTime();
SimpleDateFormat myFormat = new SimpleDateFormat("20yy-MM-dd");
String dayFormatted= myFormat.format(data1);
System.out.println("data formattata,-->"+dayFormatted);