DateTimeFormatter Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memformat tanggal dan waktu.
public ref class DateTimeFormatter sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DateTimeFormatter final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class DateTimeFormatter final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DateTimeFormatter
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DateTimeFormatter
function DateTimeFormatter(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages, geographicRegion, calendar, clock)
Public NotInheritable Class DateTimeFormatter
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Contoh
Gunakan kelas DateTimeFormatter untuk memformat tanggal.
// Format a date via a string template. Note that the order specifed in the string pattern does
// not determine the order of the parts of the formatted string. The user's language and region
// preferences will determine the pattern of the date returned based on the specified parts.
var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("month day dayofweek year");
DateTime dateToFormat = DateTime.Now;
var mydate = formatter.Format(dateToFormat);
Tata bahasa polaTata bahasa berikut menentukan apa yang diterima untuk pola:
<pattern> ::= [<literal-text>] <datetime-pattern> [<literal-text>] |
[<literal-text>] <datetime-pattern> <pattern>
<literal-text> ::= <literal-character>+
<literal-character> ::= [^{}] | "{openbrace}" | "{closebrace}"
<datetime-pattern> ::= <date-pattern> | <time-pattern>
<date-pattern> ::= <era> | <year> | <month> | <day> | <dayofweek>
<time-pattern> ::= <period> | <hour> | <minute> | <second> | <timezone>
<era> ::= "{era.abbreviated" [<ideal-length>] "}"
<year> ::= "{year.full" [<ideal-length>] "}" |
"{year.abbreviated" [<ideal-length>] "}"
<month> ::= "{month.full}" |
"{month.solo.full}" |
"{month.abbreviated" [<ideal-length>] "}"
"{month.solo.abbreviated" [<ideal-length>] "}"
"{month.integer" [<ideal-length>] "}"
<dayofweek> ::= "{dayofweek.full}" |
"{dayofweek.solo.full}" |
"{dayofweek.abbreviated" [<ideal-length>] "}"
"{dayofweek.solo.abbreviated" [<ideal-length>] "}"
<day> ::= "{day.integer" [<ideal-length>] "}"
<period> ::= "{period.abbreviated" [<ideal-length>] "}"
<hour> ::= "{hour.integer" [<ideal-length>] "}"
<minute> ::= "{minute.integer" [<ideal-length>] "}"
<second> ::= "{second.integer" [<ideal-length>] "}"
<timezone> ::= "{timezone.full}" |
"{timezone.abbreviated" [<ideal-length>] "}"
<ideal-length> ::= "(" <non-zero-digit> ")"
<non-zero-digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Tata bahasa templatTata bahasa berikut menentukan apa yang diterima untuk templat:
<template> ::= <opt-whitespace> <date> <opt-whitespace> |
<opt-whitespace> <time> <opt-whitespace> |
<opt-whitespace> <specific-date> <whitespace> <time> <opt-whitespace> |
<opt-whitespace> <time> <whitespace> <specific-date> <opt-whitespace> |
<opt-whitespace> <relative-date> <whitespace> <time> <opt-whitespace> |
<opt-whitespace> <time> <whitespace> <relative-date> <opt-whitespace>
<opt-whitespace> ::= [<whitespace>]
<whitespace> ::= " "+
<date> ::= <year> | <month> | <day> | <month-year> | <relative-date> | <specific-date>
<relativedate> ::= <dayofweek> | <month-day> | <relative-longdate>
<specificdate> ::= <shortdate> | <longdate>
<month-day> ::= <month> <whitespace> <day> |
<day> <whitespace> <month>
<relative-longdate> ::= <month> <whitespace> <day> <whitespace> <dayofweek> |
<month> <whitespace> <dayofweek> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <dayofweek> |
<day> <whitespace> <dayofweek> <whitespace> <month> |
<dayofweek> <whitespace> <day> <whitespace> <month> |
<dayofweek> <whitespace> <month> <whitespace> <day>
<month-year> ::= <month> <whitespace> <year> |
<year> <whitespace> <month>
<shortdate> ::= "shortdate" |
<month> <whitespace> <day> <whitespace> <year> |
<month> <whitespace> <year> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <year> |
<day> <whitespace> <year> <whitespace> <month> |
<year> <whitespace> <day> <whitespace> <month> |
<year> <whitespace> <month> <whitespace> <day>
<longdate> ::= "longdate" |
<year> <whitespace> <month> <whitespace> <day> <whitespace> <dayofweek> |
<year> <whitespace> <month> <whitespace> <dayofweek> <whitespace> <day> |
<year> <whitespace> <day> <whitespace> <month> <whitespace> <dayofweek> |
<year> <whitespace> <day> <whitespace> <dayofweek> <whitespace> <month> |
<year> <whitespace> <dayofweek> <whitespace> <day> <whitespace> <month> |
<year> <whitespace> <dayofweek> <whitespace> <month> <whitespace> <day> |
<month> <whitespace> <year> <whitespace> <day> <whitespace> <dayofweek> |
<month> <whitespace> <year> <whitespace> <dayofweek> <whitespace> <day> |
<day> <whitespace> <year> <whitespace> <month> <whitespace> <dayofweek> |
<day> <whitespace> <year> <whitespace> <dayofweek> <whitespace> <month> |
<dayofweek> <whitespace> <year> <whitespace> <day> <whitespace> <month> |
<dayofweek> <whitespace> <year> <whitespace> <month> <whitespace> <day> |
<month> <whitespace> <day> <whitespace> <year> <whitespace> <dayofweek> |
<month> <whitespace> <dayofweek> <whitespace> <year> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <year> <whitespace> <dayofweek> |
<day> <whitespace> <dayofweek> <whitespace> <year> <whitespace> <month> |
<dayofweek> <whitespace> <day> <whitespace> <year> <whitespace> <month> |
<dayofweek> <whitespace> <month> <whitespace> <year> <whitespace> <day> |
<month> <whitespace> <day> <whitespace> <dayofweek> <whitespace> <year> |
<month> <whitespace> <dayofweek> <whitespace> <day> <whitespace> <year> |
<day> <whitespace> <month> <whitespace> <dayofweek> <whitespace> <year> |
<day> <whitespace> <dayofweek> <whitespace> <month> <whitespace> <year> |
<dayofweek> <whitespace> <day> <whitespace> <month> <whitespace> <year> |
<dayofweek> <whitespace> <month> <whitespace> <day> <whitespace> <year>
<time> ::= <hour> |
<hour> <whitespace> <timezone> |
<timezone> <whitespace> <hour> |
<shorttime> |
<longtime>
<shorttime> ::= "shorttime" |
<hour> <whitespace> <minute> |
<minute> <whitespace> <hour> |
<timezone> <whitespace> <hour> <whitespace> <minute> |
<timezone> <whitespace> <minute> <whitespace> <hour> |
<hour> <whitespace> <timezone> <whitespace> <minute> |
<minute> <whitespace> <timezone> <whitespace> <hour> |
<hour> <whitespace> <minute> <whitespace> <timezone> |
<minute> <whitespace> <hour> <whitespace> <timezone>
<longtime> ::= "longtime" |
<hour> <whitespace> <minute> <whitespace> <second> |
<hour> <whitespace> <second> <whitespace> <minute> |
<minute> <whitespace> <hour> <whitespace> <second> |
<minute> <whitespace> <second> <whitespace> <hour> |
<second> <whitespace> <minute> <whitespace> <hour> |
<second> <whitespace> <hour> <whitespace> <minute> |
<timezone> <whitespace> <hour> <whitespace> <minute> <whitespace> <second> |
<timezone> <whitespace> <hour> <whitespace> <second> <whitespace> <minute> |
<timezone> <whitespace> <minute> <whitespace> <hour> <whitespace> <second> |
<timezone> <whitespace> <minute> <whitespace> <second> <whitespace> <hour> |
<timezone> <whitespace> <second> <whitespace> <minute> <whitespace> <hour> |
<timezone> <whitespace> <second> <whitespace> <hour> <whitespace> <minute> |
<hour> <whitespace> <timezone> <whitespace> <minute> <whitespace> <second> |
<hour> <whitespace> <timezone> <whitespace> <second> <whitespace> <minute> |
<minute> <whitespace> <timezone> <whitespace> <hour> <whitespace> <second> |
<minute> <whitespace> <timezone> <whitespace> <second> <whitespace> <hour> |
<second> <whitespace> <timezone> <whitespace> <minute> <whitespace> <hour> |
<second> <whitespace> <timezone> <whitespace> <hour> <whitespace> <minute> |
<hour> <whitespace> <minute> <whitespace> <timezone> <whitespace> <second> |
<hour> <whitespace> <second> <whitespace> <timezone> <whitespace> <minute> |
<minute> <whitespace> <hour> <whitespace> <timezone> <whitespace> <second> |
<minute> <whitespace> <second> <whitespace> <timezone> <whitespace> <hour> |
<second> <whitespace> <minute> <whitespace> <timezone> <whitespace> <hour> |
<second> <whitespace> <hour> <whitespace> <timezone> <whitespace> <minute> |
<hour> <whitespace> <minute> <whitespace> <second> <whitespace> <timezone> |
<hour> <whitespace> <second> <whitespace> <minute> <whitespace> <timezone> |
<minute> <whitespace> <hour> <whitespace> <second> <whitespace> <timezone> |
<minute> <whitespace> <second> <whitespace> <hour> <whitespace> <timezone> |
<second> <whitespace> <minute> <whitespace> <hour> <whitespace> <timezone> |
<second> <whitespace> <hour> <whitespace> <minute> <whitespace> <timezone>
<year> ::= "year" | "year.full" | "year.abbreviated"
<month> ::= "month" | "month.full" | "month.abbreviated" | "month.numeric"
<day> ::= "day"
<dayofweek> ::= "dayofweek" | "dayofweek.full" | "dayofweek.abbreviated"
<hour> ::= "hour"
<minute> ::= "minute"
<second> ::= "second"
<timezone> ::= "timezone" | "timezone.full" | "timezone.abbreviated"
Keterangan
Catatan
API ini sedang diperbarui untuk mendukung perubahan era Jepang Mei 2019. Jika aplikasi Anda mendukung kalender Jepang, Anda harus memvalidasi bahwa aplikasi tersebut menangani era baru dengan benar. Lihat Menyiapkan aplikasi Anda untuk perubahan era Jepang untuk informasi selengkapnya.
Catatan
Jika aplikasi Anda meneruskan tag bahasa yang digunakan di kelas ini ke fungsi Dukungan Bahasa Nasional apa pun, aplikasi harus terlebih dahulu mengonversi tag dengan memanggil ResolveLocaleName.
Beberapa konstruktor untuk DateTimeFormatter mengambil parameter string formatTemplate yang menentukan komponen yang diminta untuk diformat. Parameter ini dapat berupa templat format atau pola format. Templat format mudah digunakan dan menyediakan pemformatan yang khas untuk bahasa, jam, dan kalender yang Anda tentukan. Pola format memberikan kontrol output yang lebih besar daripada templat format. Jika Anda memerlukan pemformatan yang non-standar, gunakan pola format alih-alih templat.
Dalam templat format, Anda menentukan komponen (waktu, tanggal, hari dalam seminggu, dll.) yang ingin Anda sertakan dalam output yang diformat. Pemformat memformat komponen yang sesuai untuk bahasa, jam, dan kalender yang ditentukan. Urutan komponen dalam templat Anda tidak masalah; formatter mengurutkan komponen sesuai dengan urutan yang ditunjukkan dalam bahasa templat format di bawah ini.
Beberapa templat yang umum digunakan tercantum dalam tabel berikut. Dalam templat dengan lebih dari satu komponen, komponen mungkin merupakan salah satu variasi komponen yang didukung dan komponen mungkin dalam urutan apa pun. Misalnya, "dayofweek.full year month.numeric day" didukung. (Lihat di bawah ini, setelah Contoh, untuk tata bahasa yang menentukan templat yang valid.)
Penting
Anda tidak dapat menggabungkan komponen secara acak dan selalu mendapatkan templat yang valid. Satu-satunya templat yang valid adalah templat yang ditentukan oleh tata bahasa yang disediakan.
Templat |
---|
longdate |
shortdate |
Lama |
waktu pendek |
dayofweek |
dayofweek.full |
dayofweek.abbreviated |
hari |
bulan |
month.full |
month.abbreviated |
month.numeric |
tahun |
year.full |
year.abbreviated |
tahun bulan hariofweek |
bulan hariofweek |
tahun bulan hari |
bulan hari |
tahun bulan |
jam |
menit |
detik |
jam menit detik |
menit jam |
zona waktu |
timezone.full |
timezone.abbreviated |
jam hari bulan tahun |
Tabel berikut ini memperlihatkan sampel output dari pemformat yang dibuat dengan berbagai nilai templat, bahasa, dan jam. Kolom "Pola setara" menyediakan pola yang menghasilkan output yang sama dengan templat.
Templat | Bahasa | Jam | Output | Pola yang setara |
---|---|---|---|---|
longdate | id-ID | <tidak ditentukan> | Senin, 2 September 2013 | {dayofweek.full}, {month.full} {day.integer}, {year.full} |
longdate | fr-FR | <tidak ditentukan> | lundi 2 septembre 2013 | {dayofweek.full} {day.integer} {month.full} {year.full} |
shortdate | id-ID | <tidak ditentukan> | 9/2/2013 | {month.integer}/{day.integer}/{year.full} |
shortdate | fr-FR | <tidak ditentukan> | 02/09/2013 | {day.integer(2)}/{month.integer(2)}/{year.full} |
hari bulan dayofweek | id-ID | <tidak ditentukan> | Senin, September 2 | {dayofweek.full}, {month.full} {day.integer} |
hari bulan dayofweek | id-ID | <tidak ditentukan> | Senin, September 2 | {dayofweek.full}, {month.full} {day.integer} |
Lama | id-ID | <tidak ditentukan> | 06:01:24 AM | {hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} |
Lama | id-ID | 24HourClock | 17:32:45 | {hour.integer}:{minute.integer(2)}:{second.integer(2)} |
Lama | fr-FR | <tidak ditentukan> | 17:32:45 | {hour.integer(2)}:{minute.integer(2)}:{second.integer(2)} |
waktu pendek | id-ID | <tidak ditentukan> | 06.01 | {hour.integer}:{minute.integer(2)} {period.abbreviated} |
waktu pendek | id-ID | 24HourClock | 17:32 | {hour.integer}:{minute.integer(2)} |
waktu pendek | fr-FR | <tidak ditentukan> | 17:32 | {hour.integer(2)}:{minute.integer(2)} |
Pola format terdiri dari string harfiah dengan bidang yang dibatasi oleh kurung kurawal, seperti "{day.numeric}/{month.numeric}/{year.full}". Beberapa bidang yang umum digunakan tercantum dalam tabel berikut. (Lihat di bawah ini, setelah Contoh, untuk tata bahasa yang menentukan pola yang valid.)
Penting
Anda tidak dapat menggabungkan bidang secara acak dan selalu mendapatkan pola yang valid. Satu-satunya pola yang valid adalah pola yang ditentukan oleh tata bahasa yang disediakan.
Bidang pola format |
---|
{openbrace} |
{closebrace} |
{dayofweek.solo.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{dayofweek.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{day.<type>} di mana <tipe> adalah bilangan bulat / bilangan bulat(n) |
{bulan.<type>} di mana <jenis> penuh / disingkat / disingkat(n) / bilangan bulat / bilangan bulat(n) |
{month.solo.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{tahun.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{era.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{jam.<type>} di mana <tipe> adalah bilangan bulat / bilangan bulat(n) |
{titik.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
{menit.<type>} di mana <tipe> adalah bilangan bulat / bilangan bulat(n) |
{detik.<type>} di mana <tipe> adalah bilangan bulat / bilangan bulat(n) |
{zona waktu.<type>} di mana <jenis> penuh / disingkat / disingkat(n) |
Catatan
- Gunakan {openbrace} atau {closebrace} untuk menentukan bahwa "{" atau "}" muncul sebagai bagian dari string literal.
- solo menentukan bentuk mandiri. Untuk bahasa dengan perbedaan kasus genitif, kasus genitif adalah kasus yang tidak ditandai. Untuk mendapatkan kasus nominatif, gunakan solo.
- bilangan bulat(2) untuk hari kelima dalam sebulan (misalnya) adalah "05", sedangkan bilangan bulat(1) menghasilkan "5". bilangan bulat menghasilkan n terbaik untuk kombinasi bahasa/kalender tertentu.
- Selama bertahun-tahun, full menghasilkan semua digit ("2013"). disingkat identik dengan singkatan(2), yang merupakan tahun 2 digit untuk kalender gregorian ("13"). (Kalender lain pada akhirnya dapat menggunakan sesuatu yang lain sebagai default; kami telah disingkat untuk memiliki semantik terbaik untuk kombinasi bahasa/kalender tertentu.) singkatan(n) dipotong ke digit n yang paling tidak signifikan (misalnya, 2013 dengan n =1 adalah "3").
Tabel berikut ini memperlihatkan sampel output dari pemformat yang dibuat dengan berbagai nilai pola, bahasa, dan jam.
Pola | Bahasa | Jam | Output |
---|---|---|---|
{dayofweek.full}, {month.full} {day.integer}, {year.full} | id-ID | <tidak ditentukan> | Senin, 2 September 2013 |
{dayofweek.full}, {day.integer(2)} {month.full}, {year.full} | fr-FR | <tidak ditentukan> | lundi, 02 septembre, 2013 |
{month.integer}/{day.integer}/{year.full} | id-ID | <tidak ditentukan> | 9/2/2013 |
{month.integer}/{day.integer}/{year.abbreviated} | id-ID | <tidak ditentukan> | 9/2/13 |
{month.integer(2)}/{day.integer(2)}/{year.abbreviated} | id-ID | <tidak ditentukan> | 09/02/13 |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | id-ID | <tidak ditentukan> | 06.01.24 |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | id-ID | 24HourClock | 17:32:45 |
Konstruktor
Properti
Calendar |
Mendapatkan kalender yang digunakan saat memformat tanggal. |
Clock |
Mendapatkan jam yang digunakan saat memformat waktu. |
GeographicRegion |
Mendapatkan atau mengatur wilayah yang digunakan saat memformat tanggal dan waktu. |
IncludeDay |
Mendapatkan DayFormat dalam templat. |
IncludeDayOfWeek |
Mendapatkan DayOfWeekFormat dalam templat. |
IncludeHour |
Mendapatkan HourFormat dalam templat. |
IncludeMinute |
Mendapatkan MinuteFormat dalam templat. |
IncludeMonth |
Mendapatkan MonthFormat dalam templat. |
IncludeSecond |
Mendapatkan SecondFormat dalam templat. |
IncludeYear |
Mendapatkan YearFormat dalam templat. |
Languages |
Mendapatkan daftar prioritas pengidentifikasi bahasa yang digunakan saat memformat tanggal dan waktu. |
LongDate |
Mendapatkan objek DateTimeFormatter yang memformat tanggal sesuai dengan pilihan pola tanggal panjang pengguna. |
LongTime |
Mendapatkan objek DateTimeFormatter yang memformat waktu sesuai dengan pilihan pola waktu lama pengguna. |
NumeralSystem |
Mendapatkan atau mengatur sistem penomoran yang digunakan untuk memformat tanggal dan waktu. |
Patterns |
Mendapatkan pola yang sesuai dengan templat ini yang digunakan saat memformat tanggal dan waktu. |
ResolvedGeographicRegion |
Mendapatkan wilayah geografis yang terakhir digunakan untuk memformat tanggal dan waktu. |
ResolvedLanguage |
Mendapatkan bahasa yang terakhir digunakan untuk memformat tanggal dan waktu. |
ShortDate |
Mendapatkan objek DateTimeFormatter yang memformat tanggal sesuai dengan pilihan pola tanggal pendek pengguna. |
ShortTime |
Mendapatkan objek DateTimeFormatter yang memformat waktu sesuai dengan pilihan pola waktu singkat pengguna. |
Template |
Mendapatkan representasi string dari templat format ini. |
Metode
Format(DateTime) |
Mengembalikan representasi string dari tanggal dan waktu yang disediakan. |
Format(DateTime, String) |
Mengembalikan string yang mewakili tanggal dan waktu tertentu di zona waktu tertentu, sesuai dengan templat yang saat ini digunakan oleh pemformat. |