web-dev-qa-db-de.com

Android, Wie kann ich einen String in ein Datum konvertieren?

Ich speichere die aktuelle Zeit in der Datenbank jedes Mal, wenn die Anwendung vom Benutzer gestartet wird.

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

Auf der Datenbankseite speichere ich die aktuelle Zeit als Zeichenfolge (wie Sie im obigen Code sehen). Wenn ich es aus der Datenbank lade, muss ich es daher in das Date-Objekt umwandeln. Ich habe einige Beispiele gesehen, bei denen alle "DateFormat" verwendet haben. Mein Format entspricht jedoch genau dem Datumsformat. Ich glaube, es ist nicht nötig, "DateFormat" zu verwenden. Habe ich recht?

Gibt es überhaupt, um dieses String to Date-Objekt direkt umzuwandeln? Ich möchte diese gespeicherte Zeit mit der aktuellen Zeit vergleichen.

Vielen Dank

======> pdate

Danke ihr Lieben. Ich habe folgenden Code verwendet:

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;            

   }
121
Hesam

Von String bis Datum

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

Vom Datum zum String

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();  
}
362
user370305
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date d = dateFormat.parse(datestring)
9
Hiren Dabhi

verwenden der SimpleDateFormat- oder DateFormat-Klasse durch

für z.

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
}
6
Pratik
     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();
         }
    }
    }

hier ist Ihr Date-Objekt Datum und die Ausgabe ist:

Mi. 14. März 13:30:00 UTC 2018

14. März 2018

2
Janku
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);
1
paolixx

Es könnte eine gute Idee sein, vorsichtig mit dem Gebietsschema umzugehen, von dem c.getTime().toString(); abhängt.

Eine Idee ist, die Zeit in Sekunden zu speichern (z. B. NIX-Zeit ). Als int können Sie es einfach vergleichen und dann einfach in einen String konvertieren, wenn Sie es dem Benutzer anzeigen.

1
JOG