Saat ini waktu ditampilkan sebagai 13:35 PM Namun saya ingin menampilkan sebagai format 12 jam dengan AM / PM, yaitu 1:35 bukan 13:35
Kode saat ini adalah seperti di bawah ini
private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
formatDate.setTimeZone(userContext.getUser().getTimeZone());
model.addAttribute("userCurrentTime", formatDate.format(new Date()));
final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
/ FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
model.addAttribute("offsetHours",
offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
return "systemclock";
}
java
date-format
ronan
sumber
sumber
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Jawaban:
Cara termudah untuk mendapatkannya dengan menggunakan pola tanggal -
h:mm a
, di manaCuplikan kode:
Baca lebih lanjut tentang dokumentasi - SimpleDateFormat java 7
sumber
Gunakan ini
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Java docs untuk SimpleDateFormat
sumber
DateTimeFormatter
kelas, per JSR 310.gunakan
"hh:mm a"
sebagai ganti"HH:mm a"
. Di sinihh
untuk format 12 jam danHH
untuk format 24 jam.Demo Langsung
sumber
Output: 11-Sep-13 12.25.15.375 PM
sumber
h digunakan untuk waktu AM / PM (1-12).
H digunakan selama 24 jam (1-24).
a adalah penanda AM / PM
m adalah menit dalam jam
Catatan: Two h's akan mencetak nol di depan: 01:13 PM. Satu jam akan dicetak tanpa nol di depan: 1:13 PM.
Sepertinya pada dasarnya semua orang sudah mengalahkan saya, tapi saya ngelantur
sumber
sumber
Menggunakan Java 8:
Outputnya dalam
AM/PM
Format.sumber
Locale
dengan memanggilwithLocale
objek formatter itu, untuk menentukan bahasa manusia dan norma budaya yang akan digunakan dalam menghasilkanAM
/PM
teks.Cukup ganti pernyataan di bawah ini dan itu akan berhasil.
sumber
Jika Anda ingin waktu saat ini dengan AM, PM digunakan di Android
Jika Anda ingin waktu saat ini dengan pagi, sore
ATAU
Dari API level 26
sumber
SimpleDateFormat
. Setidaknya bukan sebagai opsi pertama. Dan bukan tanpa reservasi apa pun. Hari ini kita memiliki jauh lebih baikjava.time
, API tanggal dan waktu Jawa modern danDateTimeFormatter
.DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)
(atau lokal berbahasa Inggris lainnya).Ini akan menampilkan tanggal dan waktu
sumber
sumber
tl; dr
Biarkan kelas java.time modern JSR 310 secara otomatis menghasilkan teks yang dilokalkan, alih-alih mengkode jam 12-jam dan AM / PM.
Secara otomatis melokalkan
Daripada bersikeras pada jam 12 jam dengan AM / PM, Anda mungkin ingin membiarkan java.time secara otomatis melokalisasi untuk Anda. Panggil
DateTimeFormatter.ofLocalizedTime
.Untuk melokalkan, tentukan:
FormatStyle
untuk menentukan berapa lama atau disingkat seharusnya string.Locale
untuk menentukan:Di sini kita mendapatkan waktu saat ini seperti yang terlihat di zona waktu tertentu. Kemudian kami menghasilkan teks untuk mewakili waktu itu. Kami melokalkan bahasa Prancis dalam budaya Kanada, lalu bahasa Inggris dalam budaya AS.
Lihat kode ini berjalan langsung di IdeOne.com .
sumber
sumber
Untuk memasukkan format tanggal dan waktu seluler Anda saat ini
Anda dapat menunjukkan kepada Anda
Activity
,Fragment
,CardView
,ListView
di mana saja dengan menggunakanTextView
sumber
sumber
Anda dapat menggunakan SimpleDateFormat untuk ini.
Semoga ini bisa membantu Anda.
sumber