Zeitzone
Die akzeptierte Antwort ist richtig, mit der Ausnahme, dass sie die entscheidende Frage der Zeitzone ignoriert. Ist Ihr Eingabe-String 18:10 in Paris oder Montréal? Oder UTC?
Verwenden Sie eine proper time zone name. Normalerweise ein Kontinent plus Stadt/Region. Zum Beispiel "Europe/Oslo"
. Vermeiden Sie die 3- oder 4-Buchstaben-Codes, die weder standardisiert noch eindeutig sind.
Joda-Time
Unten ist die gleiche Art von Code, sondern mit der Joda-Time 2.5 Bibliothek und Zeitzone Handhabung.
Die Klassen java.util.Date, .Calendar und .SimpleDateFormat sind bekanntermaßen mühsam, verwirrend und fehlerhaft. Vermeide sie. Verwenden Sie entweder Joda-Time oder die java.time Paket (inspiriert von Joda-Time) gebaut in Java 8.
ISO 8601
Ihre Zeichenfolge fast im ISO 8601-Format ist. Die Schrägstriche müssen Bindestriche sein und der SPACE in der Mitte sollte durch einen T
ersetzt werden. Wenn wir das optimieren, kann der resultierende String direkt in den Konstruktor eingegeben werden, ohne dass ein Formatierer angegeben werden muss. Joda-Time verwendet ISO 8701-Formate als Standard für das Parsen und Erzeugen von Strings.
Beispielcode
String inputRaw = "2014/10/29 18:10:45";
String input = inputRaw.replace("/", "-").replace(" ", "T");
DateTimeZone zone = DateTimeZone.forID("Europe/Oslo"); // Or DateTimeZone.UTC
DateTime dateTime = new DateTime(input, zone);
long millisecondsSinceUnixEpoch = dateTime.getMillis();
SimpleDateFormat ist Ihr Freund. – user2336315
Wie würden Sie ein Datum in Millisekunden konvertieren, meinst du Zeit? – brso05
Auch Sie sagen ms bis heute? – brso05