Bagikan melalui


Sintaks DateTime XAML

Beberapa kontrol, seperti Calendar dan DatePicker, memiliki properti yang menggunakan jenis DateTime. Meskipun Anda biasanya menentukan tanggal atau waktu awal untuk kontrol ini di kode belakang pada waktu proses, Anda dapat menentukan tanggal atau waktu awal di XAML. Pengurai WPF XAML menangani penguraian nilai DateTime menggunakan sintaks teks XAML bawaan. Topik ini menjelaskan spesifikasi sintaks teks DateTime XAML.

Kapan menggunakan sintaksis DateTime XAML

Mengatur tanggal di XAML tidak selalu diperlukan dan bahkan mungkin tidak diinginkan. Misalnya, Anda dapat menggunakan properti DateTime.Now untuk menginisialisasi tanggal pada waktu proses, atau Anda dapat melakukan semua penyesuaian tanggal untuk kalender di kode belakang berdasarkan input pengguna. Namun, ada skenario di mana Anda mungkin ingin menetapkan tanggal secara permanen di dalam Calendar dan DatePicker dalam templat kontrol. Sintaks DateTime XAML harus digunakan untuk skenario ini.

Sintaks XAML DateTime adalah Perilaku Bawaan

DateTime adalah kelas yang didefinisikan dalam pustaka kelas dasar CLR. Karena bagaimana pustaka kelas dasar berhubungan dengan clr lainnya, tidak mungkin untuk menerapkan TypeConverterAttribute ke kelas dan menggunakan pengonversi jenis untuk memproses string dari XAML dan mengonversinya menjadi DateTime dalam model objek run time. Tidak ada kelas DateTimeConverter yang menyediakan perilaku konversi; perilaku konversi yang dijelaskan dalam topik ini asli dari pengurai WPF XAML.

Format Teks untuk Sintaks DateTime XAML

Anda dapat menentukan format DateTime dengan string format. Format string memformat sintaks teks yang dapat digunakan untuk membuat nilai. DateTime nilai bagi kontrol WPF yang sudah ada umumnya hanya menggunakan komponen tanggal dari DateTime dan bukan komponen waktu.

Saat menentukan DateTime di XAML, Anda dapat menggunakan salah satu string format secara bergantian.

Anda juga dapat menggunakan format dan format string yang tidak diperlihatkan secara khusus dalam topik ini. Secara teknis, XAML untuk nilai DateTime apa pun yang ditentukan dan kemudian diurai oleh pengurai WPF XAML menggunakan panggilan internal untuk DateTime.Parse, oleh karena itu Anda dapat menggunakan string apa pun yang diterima oleh DateTime.Parse untuk input XAML Anda. Untuk informasi selengkapnya, lihat DateTime.Parse .

Penting

Sintaks DateTime XAML selalu menggunakan en-us sebagai CultureInfo untuk konversi bawaannya. Ini tidak dipengaruhi oleh nilai Language atau nilai xml:lang dalam XAML, karena konversi jenis tingkat atribut XAML bertindak tanpa konteks tersebut. Jangan mencoba menginterpolasi string format yang ditampilkan di sini karena perbedaan budaya, seperti urutan hari dan bulan disebutkan. String format yang ditampilkan di sini adalah string format yang tepat yang digunakan saat mengurai XAML terlepas dari pengaturan budaya lainnya.

Bagian berikut ini menjelaskan beberapa string format DateTime umum.

Pola Tanggal Pendek ("d")

Berikut ini memperlihatkan format tanggal pendek untuk DateTime di XAML:

M/d/YYYY

Ini adalah bentuk paling sederhana yang menentukan semua informasi yang diperlukan untuk penggunaan umum oleh kontrol WPF, dan tidak dapat dipengaruhi oleh offset zona waktu yang tidak disengaja versus komponen waktu, dan oleh karena itu direkomendasikan atas format lain.

Misalnya, untuk menentukan tanggal 1 Juni 2010, gunakan string berikut:

3/1/2010

Untuk informasi selengkapnya, lihat DateTimeFormatInfo.ShortDatePattern .

Pola DateTime yang Dapat Diurutkan ("s")

Berikut ini menunjukkan pola DateTime yang dapat diurutkan di XAML:

yyyy'-'MM'-'dd'T'HH':'mm':'ss

Misalnya, untuk menentukan tanggal 1 Juni 2010, gunakan string berikut (komponen waktu semuanya dimasukkan sebagai 0):

2010-06-01T000:00:00

Pola RFC1123 ("r")

Pola RFC1123 berguna karena bisa menjadi input string dari generator tanggal lain yang juga menggunakan pola RFC1123 untuk alasan invarian budaya. Berikut ini menunjukkan pola RFC1123 DateTime di XAML:

ddd, dd MMM yyyy HH':'mm':'ss 'UTC'

Misalnya, untuk menentukan tanggal 1 Juni 2010, gunakan string berikut (komponen waktu semuanya dimasukkan sebagai 0):

Mon, 01 Jun 2010 00:00:00 UTC

Format dan Pola Lainnya

Seperti yang dinyatakan sebelumnya, DateTime di XAML dapat ditentukan sebagai string apa pun yang dapat diterima sebagai input untuk DateTime.Parse. Ini termasuk format formal lainnya (misalnya UniversalSortableDateTimePattern), dan format yang tidak diformalkan sebagai bentuk DateTimeFormatInfo tertentu. Misalnya, formulir YYYY/mm/dd dapat diterima sebagai input untuk DateTime.Parse. Topik ini tidak mencoba menjelaskan semua kemungkinan format yang berfungsi, dan sebaliknya merekomendasikan pola tanggal pendek sebagai praktik standar.

Lihat juga