Saya menulis kode berikut
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
Tetapi meminta saya parameter, saya ingin tanggal saat ini dalam format string,
Suka
28-Dec-2011
sehingga saya bisa mengatur TextView
,
jelaskan sedikit, jika Anda pikir sesuatu itu perlu, saya baru mengenal Android Development.
android
date
simpledateformat
android-date
Chatar Veer Suthar
sumber
sumber
DateFormat
kelas tidak masalah ketika pertanyaan ini diajukan pada tahun 2011, kelas itu dan subkelasnyaSimpleDateFormat
selalu menyusahkan dan sekarang sudah lama usang. Saya sarankan Anda tidak menggunakannya dan sebaliknya melihat ke java.time, API tanggal dan waktu Java modern .Jawaban:
Anda dapat menggunakan
SimpleDateFormat
kelas untuk memformat tanggal dalam format yang Anda inginkan.Cukup periksa tautan ini di mana Anda mendapatkan ide untuk contoh Anda.
Sebagai contoh:
Memperbarui:
Contoh terperinci ada di sini , saya sarankan Anda membaca contoh ini dan memahami konsep kelas SimpleDateFormat.
Solusi akhir:
sumber
java.util.Date
,java.util.Calendar
, danjava.text.SimpleDateFormat
sekarang warisan , digantikan oleh java.time kelas dibangun ke Jawa 8 dan kemudian. Lihat Tutorial oleh Oracle .Kode satu baris sederhana untuk mendapatkan Tanggal saat ini dalam format yyyy-MM-dd ini Anda dapat menggunakan format yang Anda inginkan:
sumber
Ini tidak ada hubungannya dengan android karena berbasis java sehingga Anda bisa menggunakannya
sumber
sumber
coba ini,
sumber
Anda perlu contoh terlebih dahulu
sumber
Bekerja seperti jimat dan mengubahnya menjadi String sebagai bonus;)
sumber
// impor kelas Date sebagai java.util
sumber
Kode di bawah ini menampilkan waktu dan tanggal
sumber
sumber
Saya memberikan jawaban modern.
java.time dan ThreeTenABP
Untuk mendapatkan tanggal saat ini:
Ini memberi Anda
LocalDate
objek, yang harus Anda gunakan untuk menjaga tanggal dalam program Anda. SEBUAHLocalDate
adalah tanggal tanpa waktu.Hanya ketika Anda perlu menampilkan tanggal ke pengguna, format menjadi string yang cocok untuk lokal pengguna:
Ketika saya menjalankan cuplikan ini hari ini di lokal Bahasa Inggris AS, hasilnya adalah:
Jika Anda menginginkannya lebih pendek, tentukan
FormatStyle.MEDIUM
atau bahkanFormatStyle.SHORT
.DateTimeFormatter.ofLocalizedDate
menggunakan lokal pemformatan default, jadi intinya adalah bahwa ia akan memberikan output yang cocok untuk lokal itu, berbeda untuk lokal yang berbeda.Jika pengguna Anda memiliki persyaratan yang sangat khusus untuk format output, gunakan string pola format:
Saya menggunakan dan merekomendasikan java.time, API tanggal dan waktu Java modern.
DateFormat
,SimpleDateFormat
,Date
DanCalendar
digunakan dalam pertanyaan dan / atau banyak jawaban yang lain, dirancang dengan buruk dan lama usang. Dan java.time jauh lebih baik untuk digunakan.Pertanyaan: Bisakah saya menggunakan java.time di Android?
Ya, java.time bekerja dengan baik pada perangkat Android yang lebih lama dan lebih baru. Itu hanya membutuhkan setidaknya Java 6 .
org.threeten.bp
dengan subpackages.Tautan
java.time
pertama kali dijelaskan.java.time
ke Java 6 dan 7 (ThreeTen untuk JSR-310).sumber
DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Jika menggunakan built-in java.time:Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Lihat Mengubah antara java.time.LocalDateTime dan java.util.Date . Jawaban otoritatif oleh JodaStephen ada di sana, dan juga jawaban yang menunjukkan penggunaan backport .sumber
28-Dec-2011
) yang belum ada di jawaban lain? Bagaimanapun juga masih menggunakan kelas yang terkenal merepotkan dan lama usangSimpleDateFormat
. Tolong, kita tidak perlu jawaban lagi untuk melakukan itu.sumber
Tweak sederhana untuk solusi Paresh:
sumber
sumber
Anda dapat menggunakan kode berikut untuk mendapatkan tanggal dalam format yang Anda inginkan.
sumber
Yang ini adalah jawaban terbaik ...
sumber
Cara paling sederhana untuk mendapatkan tanggal saat ini di lokal saat ini (perangkat lokal!):
Jika Anda ingin memiliki tanggal dalam gaya yang berbeda, gunakan
getDateInstance(int style)
:Gaya lain:
DateFormat.LONG
,DateFormat.DATE_FIELD
,DateFormat.DAY_OF_YEAR_FIELD
, dll (gunakan CTRL+Spaceuntuk melihat semua dari mereka)Jika Anda membutuhkan waktu juga:
sumber
sumber
coba dengan tautan kode ini, ini adalah jawaban yang benar-benar benar untuk semua kasus sepanjang tanggal dan waktu. atau sesuaikan tanggal dan waktu sesuai kebutuhan dan persyaratan aplikasi.
coba dengan tautan ini. coba dengan tautan ini
sumber
Saya menulis aplikasi kalender menggunakan CalendarView dan ini adalah kode saya:
bidang 'kalender' adalah CalendarView saya. Impor:
Saya mendapatkan tanggal saat ini tanpa kesalahan.
sumber
Ini adalah kode yang saya gunakan:
sumber
Saya sudah menggunakan ini:
pada awalnya saya mendapatkan waktu, kemudian saya mendeklarasikan Format Tanggal Sederhana (untuk mendapatkan tanggal seperti: 19-6-2018) kemudian saya menggunakan format untuk mengubah tanggal menjadi string.
sumber
hanya satu kode baris untuk mendapatkan format Tanggal yang sederhana:
output: 18-Mei-2020
output: 18-Mei-2020 11:00:39
output: 11:00:39 pagi
Semoga jawaban ini cukup untuk mendapatkan Format Tanggal dan Waktu ini ... :)
sumber
SimpleDateFormat
danDateFormat
kelas yang lama dan terkenal merepotkan . Setidaknya bukan sebagai opsi pertama. Dan bukan tanpa reservasi apa pun. Hari ini kita memiliki jauh lebih baik dijava.time
, tanggal dan waktu API Jawa modern, dan ituDateTimeFormatter
. Ya, Anda bisa menggunakannya di Android. Untuk Android yang lebih lama lihat Cara menggunakan ThreeTenABP di Android Project .Ini adalah kode yang saya gunakan :
sumber