Apa format tanggal yang tersedia dalam class SimpleDateFormat?

Ada yang bisa beritahu saya tentang format tanggal yang tersedia dalam class SimpleDateFormat.

Saya telah melalui api tapi tidak bisa menemukan jawaban yang memuaskan.Setiap bantuan sangat dihargai.

Mengomentari pertanyaan (2)
Larutan

Format tanggal dan waktu yang baik dijelaskan di bawah ini

SimpleDateFormat (Platform Java SE 7) - Tanggal dan Waktu Pola

Bisa jadi ada n Jumlah format anda mungkin dapat membuat. ex - dd/MM/yyyy atau YYYY-'W'ww-u atau anda dapat mencampur dan mencocokkan huruf untuk mencapai pola diperlukan. Pola huruf ini adalah sebagai berikut.

  • G - Era penanda (AD)
  • y Tahun (1996; 96)
  • Y - Minggu Tahun (2009; 09)
  • M Bulan di tahun ini (juli; Jul; 07)
  • w - Minggu di tahun (27)
  • W - Minggu di bulan (2)
  • D - Hari di tahun (189)
  • d - Hari dalam bulan (10)
  • F Hari minggu di bulan (2)
  • E - nama Hari dalam seminggu (selasa; Jum)
  • u - Hari jumlah minggu (1 = senin, ..., 7 = minggu)
  • a - AM/PM penanda
  • H - Jam dalam sehari (0-23)
  • k - Jam dalam sehari (1-24)
  • K - Jam am/pm (0-11)
  • h - Jam am/pm (1-12)
  • m Menit dalam jam (30)
  • s - Kedua dalam menit (55)
  • S Milidetik (978)
  • z - Umum zona waktu (Waktu Standar Pasifik; PST; GMT-08:00)
  • Z - RFC 822 zona waktu (-0800)
  • X - ISO 8601 zona waktu (-08; -0800; -08:00)

Untuk mengurai:

2000-01-23T04:56:07.000+0000

Gunakan: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

Komentar (6)

Mari saya tunjukkan beberapa contoh kode yang saya dapatkan dari http://www3.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html Kemudian anda dapat bermain-main dengan pilihan yang berbeda sampai anda mengerti.

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
   public static void main(String[] args) {
       Date now = new Date();

       //This is just Date's toString method and doesn't involve SimpleDateFormat
       System.out.println("toString(): " + now);  // dow mon dd hh:mm:ss zzz yyyy
       //Shows  "Mon Oct 08 08:17:06 EDT 2012"

       SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
       System.out.println("Format 1:   " + dateFormatter.format(now));
       // Shows  "Mon, 2012-10-8 at 8:17:6 AM EDT"

       dateFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
       System.out.println("Format 2:   " + dateFormatter.format(now));
       // Shows  "Mon 2012.10.08 at 08:17:06 AM EDT"

       dateFormatter = new SimpleDateFormat("EEEE, MMMM d, yyyy");
       System.out.println("Format 3:   " + dateFormatter.format(now));
       // Shows  "Monday, October 8, 2012"

       // SimpleDateFormat can be used to control the date/time display format:
       //   E (day of week): 3E or fewer (in text xxx), >3E (in full text)
       //   M (month): M (in number), MM (in number with leading zero)
       //              3M: (in text xxx), >3M: (in full text full)
       //   h (hour): h, hh (with leading zero)
       //   m (minute)
       //   s (second)
       //   a (AM/PM)
       //   H (hour in 0 to 23)
       //   z (time zone)
       //  (there may be more listed under the API - I didn't check)

   }

}

Good luck!

Komentar (0)

periksa format berikut http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

utama

System.out.println("date  : " + new classname().getMyDate("2014-01-09 14:06", "dd-MMM-yyyy E hh:mm a z", "yyyy-MM-dd HH:mm"));

****metode

 public String getMyDate(String myDate, String returnFormat, String myFormat)
            {
                DateFormat dateFormat = new SimpleDateFormat(returnFormat);
                Date date=null;
                String returnValue="";
                try {
                    date = new SimpleDateFormat(myFormat, Locale.ENGLISH).parse(myDate);
                    returnValue = dateFormat.format(date);
                } catch (ParseException e) {
                    returnValue= myDate;
                    System.out.println("failed");
                    e.printStackTrace();
                }

            return returnValue;
            }
Komentar (0)

jawa.waktu

UPDATE

Pertanyaan lain yang ketinggalan zaman. Warisan yang mengerikan kelas seperti SimpleDateFormat digantikan tahun yang lalu oleh modern jawa.waktu kelas.

Custom

Untuk mendefinisikan kustom anda sendiri pola format, kode di DateTimeFormatter yang mirip tapi tidak sama persis seperti kode di SimpleDateFormat. Pastikan untuk studi dokumentasi. Dan pencarian Stack Overflow untuk banyak contoh.

DateTimeFormatter f = 
    DateTimeFormatter.ofPattern( 
        "dd MMM uuuu" , 
        Locale.ITALY 
    ) 
;

Standar ISO 8601

The ISO 8601 mendefinisikan standar format untuk berbagai jenis tanggal-waktu nilai-nilai. Format ini dirancang untuk data-exchange, yang mudah diurai oleh mesin serta mudah dibaca oleh manusia di seluruh budaya.

Di pulau jawa.waktu kelas menggunakan ISO 8601 format secara default ketika menghasilkan/parsing string. Cukup memanggil toString & mengurai metode. Tidak perlu untuk menentukan format pola.

Instant.now().toString()

2018-11-05T18:19:33.017554 Z

Untuk nilai di UTC, Z pada akhir berarti UTC, dan diucapkan "Zulu".

Melokalisasi

Daripada menentukan format pola, anda dapat membiarkan jawa.waktu otomatis melokalisasi untuk anda. Gunakan DateTimeFormatter.ofLocalized... metode.

Sampai saat sekarang dengan dinding-jam waktu yang digunakan oleh orang-orang dari daerah tertentu (zona waktu).

ZoneId z = ZoneId.of( "Africa/Tunis" );
ZonedDateTime zdt = ZonedDateTime.now( z );

Menghasilkan teks dalam standar ISO 8601 format bijak diperpanjang untuk menambahkan nama zona waktu dalam tanda kurung siku.

zdt.toString(): 2018-11-05T19:20:23.765293+01:00[Afrika/Tunis]

Menghasilkan auto-teks yang dilokalkan.

Locale locale = Locale.CANADA_FRENCH;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( locale );

String output = zdt.format( f );

output: lundi 5 novembre 2018 à 19:20:23 heure normale D'europe centrale

Umumnya sebuah praktek yang lebih baik untuk auto-melokalisasi daripada resah dengan keras-kode format pola.


Tentang jawa.waktu

The jawa.waktu kerangka dibangun ke Jawa 8 dan kemudian. Kelas-kelas ini menggantikan merepotkan tua legacy tanggal waktu kelas seperti jawa.util.Tanggal, Kalender, & SimpleDateFormat.

The Joda-Waktu proyek, sekarang di maintenance mode, menyarankan migrasi ke jawa.waktu kelas.

Untuk mempelajari lebih lanjut, lihat Oracle Tutorial. Dan pencarian Stack Overflow untuk banyak contoh dan penjelasan. Spesifikasi JSR 310.

Anda dapat bertukar jawa.waktu benda-benda secara langsung dengan database anda. Gunakan JDBC driver sesuai dengan JDBC 4.2 atau yang lebih baru. Tidak perlu untuk string, tidak perlu untuk jawa.sql.* kelas-kelas.

Di mana untuk memperoleh jawa.waktu kelas?

The ThreeTen-Tambahan proyek meluas jawa.waktu dengan kelas tambahan. Proyek ini adalah ajang pembuktian bagi masa depan mungkin penambahan jawa.waktu. Anda mungkin menemukan beberapa kelas yang berguna di sini seperti Interval, YearWeek, YearQuarter, dan lebih.

Komentar (0)