Ich habe 1 Zeichenfolge wie 8/29/2011 11:16:12 AM Ich möchte in Variable wie Datum = 8/29/2011 und Zeit = 11:16 speichern: 12 UhrSo erhalten Sie Zeit und Datum von Datum-Zeit-Stempel
Wie wäre es möglich? Kannst du mir ein Beispiel geben?
Ich habe 1 Zeichenfolge wie 8/29/2011 11:16:12 AM Ich möchte in Variable wie Datum = 8/29/2011 und Zeit = 11:16 speichern: 12 UhrSo erhalten Sie Zeit und Datum von Datum-Zeit-Stempel
Wie wäre es möglich? Kannst du mir ein Beispiel geben?
Eine Möglichkeit, zu tun ist, um es zu einem Objekt Datum zu analysieren und es umformatieren wieder:
try {
DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date d = f.parse("8/29/2011 11:16:12 AM");
DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
DateFormat time = new SimpleDateFormat("hh:mm:ss a");
System.out.println("Date: " + date.format(d));
System.out.println("Time: " + time.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
Wenn Sie es gerade in Datum-Zeit-Stücke schneiden wollen, nur Split verwenden Stücke zu bekommen
String date = "8/29/2011 11:16:12 AM";
String[] parts = date.split(" ");
System.out.println("Date: " + parts[0]);
System.out.println("Time: " + parts[1] + " " + parts[2]);
oder
String date = "8/29/2011 11:16:12 AM";
System.out.println("Date: " + date.substring(0, date.indexOf(' ')));
System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));
Aber dieser Ansatz ist zerbrechlich.
die Sie interessieren,
String main = "8/29/2011 11:16:12 AM";
String[] tmp;
String date, time;
tmp = main.split(" ");
// [0] = 8/29/2011
// [1] = 11:16:12
// [2] = AM
date = tmp[0].toString(); // 8/29/2011
time = tmp[1].toString() + " " + tmp[2].toString(); // 11:16:12 AM
Dank ...
Versuchen Split-Funktion in Java Im Folgenden Code:
String my_string="8/29/2011 11:16:12 AM"
String [] my_date_time = null;
my_date_time = my_string.split(" ");
String Date_str=my_date_time[0];
String Time_str=my_date_time[1]+" "+my_date_time[2];
You Get Variable String wie folgt Date_str = "29.08/2011 "und Time_str =" 11:16:12 Uhr "
String str = "8/29/2011 11:16:12 AM"
String date = str.subString(0, str.indexOf(' '));
String time = str.subString(str.indexOf(' ')+1);
Ich hoffe, es wird dir helfen. :)
Sie können es tun, indem Sie die Zeichenfolge in zwei Teil Spaltung, wie
String main = "8/29/2011 11:16:12 AM";
String s[] = main.split(" ",2);
String date = s[0];
String time = s[1];
Hinweis folgt: Die splite Methode die Zeichenfolge in zwei Teile geteilt wird, wie im zweiten Argument erwähnt.
Warum nicht DateFormat verwenden?
prüfen http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html
String str = "8/29/2011 11:16:12 AM";
String fmt = "MM/dd/yyyy HH:mm:ss a";
DateFormat df = new SimpleDateFormat(fmt);
Date dt = df.parse(str);
DateFormat tdf = new SimpleDateFormat("HH:mm:ss a");
DateFormat dfmt = new SimpleDateFormat("MM/dd/yyyy");
String timeOnly = tdf.format(dt);
String dateOnly = dfmt.format(dt);
Es gibt mehr Arbeit/code, aber es ist der richtige Weg, es zu tun.
mDate = new Date();
DateFormat timeFormat = SimpleDateFormat.getTimeInstance();
DateFormat dateFormat = SimpleDateFormat.getDateInstance();
timeFormat.format(mDate); // formats to: 4:53:03 AM
dateFormat.format(mDate); // formats to: Oct 16, 2014
Bitte erläutern Sie Ihre Antworten, anstatt nur "try this" Art von Lösungen zu veröffentlichen. – Gary
Wenn ich diese Art eine Zeichenfolge bekomme, wurde ich subtrahieren und ein Date-Objekt erstellen. Aber vielleicht gibt es eine einfachere Methode. – goodm