Ich kann die Ausgabe als Wed May 11 15:36:08 IST 2016
erhalten, aber wie konvertiere ich das Datum in eine Zeichenfolge mit dem erforderlichen Format?Wie man gegebenes Zeichenkettenformat zu dd-MMM-yyyy hh: mm: ss: aa?
Erforderliches Format ist: 12-05-2016 16:05:08 pm
Was ich versucht heißt
public class Test {
public static void main(String args[]) throws ParseException{
String epoche="1462961108000";
Long initialLogTime = Long.valueOf(epoche);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(initialLogTime);
Calendar fromDateTime = calendar;
Calendar toDateTime = fromDateTime;
toDateTime.add(Calendar.MINUTE, 30);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss:aa");
String datestring = String.valueOf(fromDateTime.getTime());
String datestring1 = String.valueOf(toDateTime.getTime());
System.out.println(datestring); //here output is Wed May 11 15:36:08 IST 2016
System.out.println(datestring1); // here output is Wed May 11 15:36:08 IST 2016
Date dates = dateFormat.parse(datestring);
Date date1s = dateFormat.parse(datestring1);
System.out.println(dates);
System.out.println(date1s);
}
}
Der Fehler Ich erhalte ist:
Exception in thread "main" java.text.ParseException: Unparseable date: "Wed May 11 16:05:08 IST 2016"
at java.text.DateFormat.parse(DateFormat.java:357)
at test.Test.main(Test.java:27)
Warum konvertieren Sie in eine Zeichenfolge dann Parsen, wenn Sie bereits * haben * den Wert? Es ist unklar, was das ultimative Ziel hier ist ... (Wenn es nur um den Wert als String zu formatieren, sollten Sie überhaupt nicht 'Parse 'aufrufen.) –
Wie bereits erwähnt, sollte' SimpleDateFormat' mit der Methode aufgerufen werden 'format()' auf dem 'Date'-Objekt, nicht' parse() 'auf dem' String'-Objekt, um das gewünschte Ergebnis zu erhalten – Draken
Wenn Sie das SimpleDateFormat verwenden, beachten Sie, dass es sich um einen Formatierer handelt. Es kann analysieren und formatieren. Parsen bedeutet, dass Sie in eine Typinstanz wie zum Beispiel ein Datum konvertieren. Formatierung bedeutet, dass Sie es im Wesentlichen in eine lesbare Form konvertieren, normalerweise in Form eines Strings. In Ihrem Fall haben Sie bereits ein Datum und Sie brauchen keinen Zwischenschritt, wie Sie es versuchten. –