it-swarm.dev

Ekstrak waktu dari String tanggal

Bagaimana saya bisa memformat string tanggal "2010-07-14 09:00:02" untuk menggambarkan hanya "9:00"?

45
JJunior

Gunakan SimpleDateFormat untuk mengkonversi antara string tanggal dan objek Date yang asli. dengan Date sebagai titik awal, Anda dapat dengan mudah menerapkan pemformatan berdasarkan berbagai pola sebagaimana didefinisikan dalam javadoc dari SimpleDateFormat (klik tautan kode biru untuk Javadoc).

Berikut ini adalah contoh kickoff:

String originalString = "2010-07-14 09:00:02";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(originalString);
String newString = new SimpleDateFormat("H:mm").format(date); // 9:00
109
BalusC
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2010-07-14 09:00:02");
String time = new SimpleDateFormat("H:mm").format(date);

http://download.Oracle.com/javase/1.4.2/docs/api/Java/text/SimpleDateFormat.html

12
Adam

Cara yang sangat sederhana adalah dengan menggunakan Formatter (lihat konversi waktu tanggal ) atau lebih langsung String.format seperti pada

String.format("%tR", new Date())
11
Petr Pudlák

Saya berasumsi bahwa string pertama Anda adalah objek Tanggal yang sebenarnya, perbaiki saya jika saya salah. Jika demikian, gunakan objek SimpleDateFormat: http://download.Oracle.com/javase/6/docs/api/Java/text/SimpleDateFormat.html . String format "h: mm" harus menjaganya.

4
MikeTheReader

Dengan menggunakan SimpleDateFormat

4
Amir Afghani

Jika Anda memiliki tanggal dalam bilangan bulat, Anda dapat menggunakan seperti di sini: 

Date date = new Date();
date.setYear(2010);
date.setMonth(07);
date.setDate(14)
date.setHours(9);
date.setMinutes(0);
date.setSeconds(0);
String time = new SimpleDateFormat("HH:mm:ss").format(date);
3
Bohdan Kolesnyk

Jawaban lainnya adalah jawaban yang baik ketika pertanyaan diajukan. Waktu terus berjalan, Date dan SimpleDateFormat digantikan oleh kelas yang lebih baru dan lebih baik dan tidak digunakan lagi. Pada 2017, gunakan kelas-kelas dalam paket Java.time:

    String timeString = LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss"))
            .format(DateTimeFormatter.ofPattern("H:mm"));

Hasilnya adalah yang diinginkan, 9:00.

3
Ole V.V.
let datestring = "2017-02-14 02:16:28"

let formatter = DateFormatter()
formatter.dateStyle = DateFormatter.Style.full
formatter.timeStyle = DateFormatter.Style.full

formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"

let date = formatter.date(from: datestring)
let date2 = formatter.String(from: date)
0
BHAVIK PANCHAL