String format tanggal dan waktu standar
String format tanggal dan waktu standar menggunakan karakter tunggal sebagai penentu format untuk menentukan representasi teks dari DateTimeatau nilai DateTimeOffset. String format tanggal dan waktu apa pun yang berisi lebih dari satu karakter, termasuk ruang kosong, diinterpretasikan sebagai string format tanggal dan waktu kustom. String format standar atau kustom dapat digunakan dalam dua cara:
Untuk menentukan string yang dihasilkan dari operasi pemformatan.
Untuk menentukan representasi teks dari nilai tanggal dan waktu yang dapat dikonversi ke DateTime atau nilai DateTimeOffset oleh operasi penguraian.
Tip
Anda dapat mengunduh Utilitas Pemformatan, aplikasi .NET Formulir Windows yang memungkinkan Anda menerapkan string format ke nilai numerik atau tanggal dan waktu serta menampilkan string hasil. Kode sumber tersedia untuk C# dan Visual Basic.
Catatan
Beberapa contoh C# dalam artikel ini dijalankan dalam pengeksekusi dan playground code sebaris Try.NET. Pilih tombol Jalankan untuk menjalankan contoh di jendela interaktif. Setelah Anda menjalankan kode, Anda dapat memodifikasinya dan menjalankan kode yang dimodifikasi dengan memilih Jalankan lagi. Kode yang dimodifikasi berjalan di jendela interaktif atau, jika kompilasi gagal, jendela interaktif menampilkan semua pesan kesalahan pengompilasi C#.
Zona waktu lokal dari pengeksekusi dan playground code sebaris Try.NET adalah Waktu Universal Terkoordinasi, atau UTC. Hal ini dapat memengaruhi perilaku dan output contoh yang mengilustrasikan jenis DateTime, DateTimeOffset, dan TimeZoneInfo serta anggotanya.
Tabel penentu format
Tabel berikut ini menjelaskan penentu format tanggal dan waktu standar. Kecuali dinyatakan berbeda, penentu format tanggal dan waktu standar tertentu menghasilkan representasi string yang identik terlepas digunakan dengan nilai DateTime atau DateTimeOffset. Lihat Pengaturan Panel Kontrol dan Properti InfoFormatTanggalWaktu untuk informasi tambahan tentang penggunaan string format tanggal dan waktu standar.
Penentu format | Deskripsi | Contoh |
---|---|---|
"h" | Pola tanggal pendek. Informasi selengkapnya:Penentu format tanggal pendek ("d"). |
2009-06-15T13:45:30 -> 6/15/2009 (en-US) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) |
"D" | Pola tanggal panjang. Informasi selengkapnya: Penentu format tanggal panjang ("D"). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 (en-US) 2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU) 2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE) |
"f" | Pola tanggal/waktu lengkap (waktu pendek). Informasi selengkapnya: Penentu format waktu pendek tanggal lengkap ("f"). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45 μμ (el-GR) |
"F" | Pola tanggal/waktu lengkap (waktu yang panjang). Informasi selengkapnya: Penentu format waktu panjang tanggal lengkap ("F"). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μμ (el-GR) |
"g" | Pola tanggal/waktu umum (waktu pendek). Informasi selengkapnya: Penentu format waktu pendek tanggal umum ("g"). |
2009-06-15T13:45:30 -> 6/15/2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN) |
"G" | Pola tanggal/waktu umum (waktu panjang). Informasi selengkapnya: Penentu format waktu panjang tanggal umum ("G"). |
2009-06-15T13:45:30 -> 6/15/2009 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN) |
"M", "m" | Pola bulan/hari. Informasi selengkapnya: Penentu format bulan ("M", "m"). |
2009-06-15T13:45:30 -> June 15 (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
"O", "o" | pola tanggal/waktu dua arah. Informasi selengkapnya: Penentu format dua arah ("O", "o"). |
nilai DateTime: 2009-06-15T13:45:30 (DateTimeKind.Local) --> 2009-06-15T13:45:30.0000000-07:00 2009-06-15T13:45:30 (DateTimeKind.Utc) --> 2009-06-15T13:45:30.0000000Z 2009-06-15T13:45:30 (DateTimeKind.Unspecified) --> 2009-06-15T13:45:30.0000000 nilai DateTimeOffset: 2009-06-15T13:45:30-07:00 --> 2009-06-15T13:45:30.0000000-07:00 |
"R", "r" | Pola RFC1123. Informasi selengkapnya: Penentu format RFC1123 ("R", "r"). |
DateTimeOffset input: 2009-06-15T13:45:30 -> Senin, 15 Jun 2009 20:45:30 GMT DateTime input: 2009-06-15T13:45:30 -> Senin, 15 Jun 2009 13:45:30 GMT |
"s" | Pola tanggal/waktu yang dapat diurutkan. Informasi selengkapnya: Penentu format (“s”) yang dapat diurutkan. |
2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30 2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30 |
"t" | Pola waktu pendek. Informasi selengkapnya: Penentu format waktu pendek ("t"). |
2009-06-15T13:45:30 -> 1:45 PM (en-US) 2009-06-15T13:45:30 -> 13:45 (hr-HR) 2009-06-15T13:45:30 -> 01:45 م (ar-EG) |
"T" | Pola waktu panjang. Informasi selengkapnya: Penentu format waktu panjang ("T"). |
2009-06-15T13:45:30 -> 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 13:45:30 (hr-HR) 2009-06-15T13:45:30 -> 01:45:30 م (ar-EG) |
"u" | Pola tanggal/waktu universal yang dapat diurutkan. Informasi selengkapnya: Penentu format universal yang dapat diurutkan ("u"). |
Dengan DateTimenilai: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z Dengan DateTimeOffsetnilai: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
"U" | Pola tanggal/waktu lengkap universal. Informasi selengkapnya: Penentu format lengkap universal ("U"). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 8:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR) |
"Y", "y" | Pola bulan tahun. Informasi selengkapnya: Penentu format bulan tahun ("Y"). |
2009-06-15T13:45:30 -> June 2009 (en-US) 2009-06-15T13:45:30 -> juni 2009 (da-DK) 2009-06-15T13:45:30 -> Juni 2009 (id-ID) |
Setiap karakter tunggal lainnya | Penentu yang tidak diketahui. | Membuat run-time FormatException. |
Cara kerja string format standar
Dalam operasi pemformatan, string format standar hanyalah sebuah alias untuk string format kustom. Keuntungan menggunakan alias untuk mengacu ke string format kustom adalah bahwa, meskipun alias tetap invarian, string format kustom itu sendiri dapat bervariasi. Hal ini penting karena representasi string dari nilai tanggal dan waktu biasanya bervariasi menurut kultur. Misalnya, string format standar "d" menunjukkan bahwa nilai tanggal dan waktu akan ditampilkan dengan pola tanggal pendek. Untuk kultur invarian, pola ini adalah "MM/dd/yyyy". Untuk kultur fr-FR, pola ini adalah "dd/MM/yyyy". Untuk kultur ja-JP, pola ini adalah "yyyy/MM/dd".
Jika string format standar dalam operasi pemformatan memetakan ke string format kustom kultur tertentu, aplikasi Anda dapat menentukan budaya tertentu yang string format kustomnya digunakan dengan salah satu cara berikut:
Anda dapat menggunakan kultur default (atau saat ini). Contoh berikut menampilkan tanggal menggunakan format tanggal pendek kultur saat ini. Dalam hal ini, kultur saat ini adalah en-US.
// Display using current (en-us) culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); Console.WriteLine(thisDate.ToString("d")); // Displays 3/15/2008
' Display using current (en-us) culture's short date format Dim thisDate As Date = #03/15/2008# Console.WriteLine(thisDate.ToString("d")) ' Displays 3/15/2008
Anda dapat meneruskan CultureInfo objek yang mewakili kultur yang pemformatannya akan digunakan untuk metode yang memiliki IFormatProvider parameter. Contoh berikut menampilkan tanggal dengan format tanggal pendek kultur pt-BR.
// Display using pt-BR culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); CultureInfo culture = new CultureInfo("pt-BR"); Console.WriteLine(thisDate.ToString("d", culture)); // Displays 15/3/2008
' Display using pt-BR culture's short date format Dim thisDate As Date = #03/15/2008# Dim culture As New CultureInfo("pt-BR") Console.WriteLine(thisDate.ToString("d", culture)) ' Displays 15/3/2008
Anda dapat meneruskan objek DateTimeFormatInfo yang menyediakan informasi pemformatan ke metode yang memiliki parameter IFormatProvider. Contoh berikut menampilkan tanggal dengan format tanggal pendek dari objek DateTimeFormatInfo untuk kultur hr-HR.
// Display using date format information from hr-HR culture DateTime thisDate = new DateTime(2008, 3, 15); DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat; Console.WriteLine(thisDate.ToString("d", fmt)); // Displays 15.3.2008
' Display using date format information from hr-HR culture Dim thisDate As Date = #03/15/2008# Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat Console.WriteLine(thisDate.ToString("d", fmt)) ' Displays 15.3.2008
Catatan
Untuk informasi tentang penyesuaian pola atau string yang digunakan dalam memformat nilai tanggal dan waktu, lihat NumberFormatInfo topik kelas.
Dalam beberapa kasus, string format standar berfungsi sebagai singkatan yang mudah untuk string format kustom invarian yang lebih panjang. Empat string format standar termasuk dalam kategori ini: "O" (atau "o"), "R" (atau "r"), "s", dan "u". String ini sesuai dengan string format kustom yang ditentukan oleh kultur invarian. String ini menghasilkan representasi string dari nilai tanggal dan waktu yang dimaksudkan agar identik di seluruh kultur. Tabel berikut ini menyediakan informasi tentang keempat string format tanggal dan waktu standar ini.
String format standar | Ditentukan oleh properti DateTimeFormatInfo.InvariantInfo | String format kustom |
---|---|---|
"O" atau "o" | Tidak ada | yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK |
"R" atau "r" | RFC1123Pattern | ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
"s" | SortableDateTimePattern | yyyy'-'MM'-'dd'T'HH':'mm':'ss |
"u" | UniversalSortableDateTimePattern | yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
String format standar juga dapat digunakan dalam operasi penguraian dengan metode DateTime.ParseExact atau DateTimeOffset.ParseExact, yang memerlukan string input agar sesuai dengan pola tertentu agar operasi penguraian berhasil. Banyak string format standar memetakan ke beberapa string format kustom, sehingga nilai tanggal dan waktu dapat direpresentasikan dalam berbagai format sekaligus membuat operasi penguraian tetap berhasil. Anda dapat menentukan string format kustom atau string yang sesuai dengan string format standar dengan menggunakan metode DateTimeFormatInfo.GetAllDateTimePatterns(Char). Contoh berikut menampilkan string format kustom yang memetakan ke string format standar "d" (pola tanggal pendek).
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
Console.WriteLine("'d' standard format string:");
foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
Console.WriteLine(" {0}", customString);
}
}
// The example displays the following output:
// 'd' standard format string:
// M/d/yyyy
// M/d/yy
// MM/dd/yy
// MM/dd/yyyy
// yy/MM/dd
// yyyy-MM-dd
// dd-MMM-yy
Imports System.Globalization
Module Example
Public Sub Main()
Console.WriteLine("'d' standard format string:")
For Each customString In DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns("d"c)
Console.WriteLine(" {0}", customString)
Next
End Sub
End Module
' The example displays the following output:
' 'd' standard format string:
' M/d/yyyy
' M/d/yy
' MM/dd/yy
' MM/dd/yyyy
' yy/MM/dd
' yyyy-MM-dd
' dd-MMM-yy
Bagian berikut ini menjelaskan penentu format standar untuk nilai DateTime dan DateTimeOffset.
Format tanggal
Grup ini mencakup format berikut:
Penentu format tanggal pendek ("d")
Penentu format standar "d" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.ShortDatePattern kultur tertentu. Misalnya, string format kustom yang dikembalikan oleh ShortDatePattern properti kultur invarian adalah "MM/dd/yyyy".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
Properti | Deskripsi |
---|---|
ShortDatePattern | Menentukan format keseluruhan string hasil. |
DateSeparator | Menentukan string yang memisahkan komponen tahun, bulan, dan hari dari tanggal. |
Contoh berikut menggunakan penentu format "d" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008,4, 10);
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-NZ")));
// Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("de-DE")));
// Displays 10.04.2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 4/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-NZ")))
' Displays 10/04/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("de-DE")))
' Displays 10.04.2008
Penentu format tanggal panjang ("D")
Penentu format standar "D" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.LongDatePattern saat ini. Misalnya, string format kustom untuk kultur invarian adalah "dddd, dd MMMM yyyy".
Tabel berikut mencantumkan properti DateTimeFormatInfo objek yang mengontrol pemformatan string yang dikembalikan.
Properti | Deskripsi |
---|---|
LongDatePattern | Menentukan format keseluruhan string hasil. |
DayNames | Menentukan nama lokal hari yang dapat muncul dalam string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
Contoh berikut menggunakan penentu format "D" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("pt-BR")))
' Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays jueves, 10 de abril de 2008
Format tanggal dan waktu
Grup ini mencakup format berikut:
- Penentu format waktu pendek tanggal lengkap ("f")
- Penentu format waktu panjang tanggal lengkap ("F")
- Penentu format waktu pendek tanggal umum ("g")
- Penentu format waktu panjang tanggal umum ("G")
- Penentu format dua arah ("O", "o")
- Penentu format RFC1123 ("R", "r")
- Penentu format yang dapat diurutkan ("s")
- Penentu format universal yang dapat diurutkan ("u")
- Penentu format lengkap universal ("U")
Penentu format waktu pendek tanggal lengkap ("f")
Penentu format standar "f" merepresentasikan kombinasi pola tanggal panjang ("D") dan waktu pendek ("t"), dipisahkan oleh spasi.
String hasil dipengaruhi oleh informasi pemformatan objek DateTimeFormatInfo tertentu. Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti DateTimeFormatInfo.LongDatePattern dan DateTimeFormatInfo.ShortTimePattern dari beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
LongDatePattern | Menentukan format komponen tanggal dari string hasil. |
ShortTimePattern | Menentukan format komponen waktu dari string hasil. |
DayNames | Menentukan nama lokal hari yang dapat muncul dalam string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "f" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30
Penentu format waktu panjang tanggal lengkap ("F")
Penentu format standar "F" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.FullDateTimePattern saat ini. Misalnya, string format kustom untuk kultur invarian adalah "dddd, dd MMMM yyyy HH:mm:ss".
Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti FullDateTimePattern beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
FullDateTimePattern | Menentukan format keseluruhan string hasil. |
DayNames | Menentukan nama lokal hari yang dapat muncul dalam string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "F" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30:00
Penentu format waktu pendek tanggal umum ("g")
Penentu format standar "g" merepresentasikan kombinasi pola tanggal pendek ("d") dan waktu pendek ("t"), dipisahkan oleh spasi.
String hasil dipengaruhi oleh informasi pemformatan objek DateTimeFormatInfo tertentu. Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti DateTimeFormatInfo.ShortDatePattern dan DateTimeFormatInfo.ShortTimePattern dari beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
ShortDatePattern | Menentukan format komponen tanggal dari string hasil. |
ShortTimePattern | Menentukan format komponen waktu dari string hasil. |
DateSeparator | Menentukan string yang memisahkan komponen tahun, bulan, dan hari dari tanggal. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "g" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("g",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("fr-BE")));
// Displays 10/04/2008 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("g", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("fr-BE")))
' Displays 10/04/2008 6:30
Penentu format waktu panjang tanggal umum ("G").
Penentu format standar "G" merepresentasikan kombinasi pola tanggal pendek ("d") dan waktu panjang ("T"), dipisahkan oleh spasi.
String hasil dipengaruhi oleh informasi pemformatan objek DateTimeFormatInfo tertentu. Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti DateTimeFormatInfo.ShortDatePattern dan DateTimeFormatInfo.LongTimePattern dari beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
ShortDatePattern | Menentukan format komponen tanggal dari string hasil. |
LongTimePattern | Menentukan format komponen waktu dari string hasil. |
DateSeparator | Menentukan string yang memisahkan komponen tahun, bulan, dan hari dari tanggal. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "G" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("G",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("nl-BE")));
// Displays 10/04/2008 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("G", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("nl-BE")))
' Displays 10/04/2008 6:30:00
Penentu format dua arah ("O", "o")
Penentu format standar "O" atau "o" merepresentasikan string format tanggal dan waktu kustom dengan pola yang mempertahankan informasi zona waktu dan menghasilkan string yang sesuai dengan ISO 8601. Untuk nilai DateTime, penentu format ini dirancang untuk mempertahankan nilai tanggal dan waktu beserta dengan properti DateTime.Kind dalam teks. String yang diformat dapat diurai kembali menggunakan metode DateTime.Parse(String, IFormatProvider, DateTimeStyles) atau DateTime.ParseExact jika parameter styles
diatur ke DateTimeStyles.RoundtripKind.
Penentu format standar "O" atau "o" sesuai dengan string format kustom "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" untuk nilai DateTime dan string format kustom "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" untuk nilai DateTimeOffset. Dalam string ini, pasangan tanda kutip tunggal yang membatasi karakter individual, seperti tanda hubung, titik dua, dan huruf "T", menunjukkan bahwa karakter individu adalah literal yang tidak dapat diubah. Apostrof tidak muncul dalam string output.
Penentu format standar "O" atau "o" (dan string format kustom "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK") memanfaatkan tiga cara ISO 8601 merepresentasikan informasi zona waktu untuk mempertahankan properti Kind nilai DateTime:
Komponen zona waktu DateTimeKind.Local nilai tanggal dan waktu adalah offset dari UTC (misalnya, +01:00, -07:00). Semua nilai DateTimeOffset juga direpresentasikan dalam format ini.
Komponen zona waktu DateTimeKind.Utc nilai tanggal dan waktu menggunakan "Z" (yang berarti nol offset) untuk mewakili UTC.
DateTimeKind.Unspecified nilai tanggal dan waktu tidak memiliki informasi zona waktu.
Karena penentu format standar "O" atau "o" sesuai dengan standar internasional, operasi pemformatan atau penguraian yang menggunakan penentu selalu menggunakan kultur invarian dan kalender Gregorian.
String yang diteruskan ke metode Parse
, TryParse
, ParseExact
, TryParseExact
, dari DateTime dan DateTimeOffset dapat diurai dengan penentu format "O" atau "o" jika berada dalam salah satu format ini. Dalam kasus objek DateTime, kelebihan penguraian yang Anda panggil juga harus menyertakan parameter styles
dengan nilai DateTimeStyles.RoundtripKind. Perhatikan bahwa jika Anda memanggil metode penguraian dengan string format kustom yang sesuai dengan penentu format "O" atau "o", Anda tidak akan mendapatkan hasil yang sama dengan "O" atau "o". Hal ini karena metode penguraian yang menggunakan string format kustom tidak dapat mengurai representasi string nilai tanggal dan waktu yang tidak memiliki komponen zona waktu atau menggunakan "Z" untuk menunjukkan UTC.
Contoh berikut menggunakan penentu format "o" untuk menampilkan serangkaian nilai DateTime dan nilai DateTimeOffset pada sistem di zona Waktu Pasifik AS.
using System;
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine("{0} --> {0:O}", dto);
}
}
// The example displays the following output:
// 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
// 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
// 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
// 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Module Example
Public Sub Main()
Dim dat As New Date(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified)
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind)
Dim uDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Utc)
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind)
Dim lDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Local)
Console.WriteLine("{0} ({1}) --> {0:O}", lDat, lDat.Kind)
Console.WriteLine()
Dim dto As New DateTimeOffset(lDat)
Console.WriteLine("{0} --> {0:O}", dto)
End Sub
End Module
' The example displays the following output:
' 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
' 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
' 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
'
' 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Contoh berikut menggunakan penentu format "o" untuk membuat string yang diformat, lalu memulihkan nilai tanggal dan waktu yang asli dengan memanggil metode Parse
tanggal dan waktu.
// Round-trip DateTime values.
DateTime originalDate, newDate;
string dateString;
// Round-trip a local time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 10, 6, 30, 0), DateTimeKind.Local);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip a UTC time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 12, 9, 30, 0), DateTimeKind.Utc);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip time in an unspecified time zone.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 13, 12, 30, 0), DateTimeKind.Unspecified);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip a DateTimeOffset value.
DateTimeOffset originalDTO = new DateTimeOffset(2008, 4, 12, 9, 30, 0, new TimeSpan(-8, 0, 0));
dateString = originalDTO.ToString("o");
DateTimeOffset newDTO = DateTimeOffset.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO);
// The example displays the following output:
// Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
// Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
// Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
// Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
' Round-trip DateTime values.
Dim originalDate, newDate As Date
Dim dateString As String
' Round-trip a local time.
originalDate = Date.SpecifyKind(#4/10/2008 6:30AM#, DateTimeKind.Local)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a UTC time.
originalDate = Date.SpecifyKind(#4/12/2008 9:30AM#, DateTimeKind.Utc)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip time in an unspecified time zone.
originalDate = Date.SpecifyKind(#4/13/2008 12:30PM#, DateTimeKind.Unspecified)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a DateTimeOffset value.
Dim originalDTO As New DateTimeOffset(#4/12/2008 9:30AM#, New TimeSpan(-8, 0, 0))
dateString = originalDTO.ToString("o")
Dim newDTO As DateTimeOffset = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO)
' The example displays the following output:
' Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
' Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
' Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
' Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
Penentu format RFC1123 ("R", "r")
Penentu format standar "R" atau "r" mewakili string format tanggal dan waktu kustom yang ditentukan oleh DateTimeFormatInfo.RFC1123Pattern properti . Pola ini mencerminkan standar yang ditentukan, dan properti tersebut bersifat baca-saja. Oleh karena itu, pola ini selalu sama, terlepas dari kultur yang digunakan atau penyedia format yang disediakan. String format kustom tersebut adalah "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'". Ketika penentu format standar ini digunakan, operasi pemformatan atau penguraian selalu menggunakan kultur invarian.
String hasil dipengaruhi oleh properti berikut dari objek DateTimeFormatInfo yang dihasilkan oleh properti DateTimeFormatInfo.InvariantInfo yang merepresentasikan kultur invarian.
Properti | Deskripsi |
---|---|
RFC1123Pattern | Menentukan format string hasil. |
AbbreviatedDayNames | Menentukan nama hari yang disingkat dan dapat muncul dalam string hasil. |
AbbreviatedMonthNames | Menentukan nama bulan yang disingkat dan dapat muncul dalam string hasil. |
Meskipun standar RFC 1123 mengekspresikan waktu sebagai Waktu Universal Terkoordinasi (UTC), operasi pemformatan tidak mengubah nilai DateTime objek yang sedang diformat. Oleh karena itu, Anda harus mengonversi nilai DateTime ke UTC dengan memanggil metode DateTime.ToUniversalTime sebelum melakukan operasi pemformatan. Sebaliknya, DateTimeOffset nilai melakukan konversi ini secara otomatis; tidak perlu memanggil DateTimeOffset.ToUniversalTime metode sebelum operasi pemformatan.
Contoh berikut menggunakan penentu format "r" untuk menampilkan nilai DateTime dan DateTimeOffset pada sistem di zona waktu Pasifik AS.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
Penentu format yang dapat diurutkan ("s")
Penentu format standar "s" merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.SortableDateTimePattern. Pola ini mencerminkan standar yang ditentukan (ISO 8601), dan properti tersebut bersifat baca-saja. Oleh karena itu, pola ini selalu sama, terlepas dari kultur yang digunakan atau penyedia format yang disediakan. String format kustom tersebut adalah "yyyy'-'MM'-'dd'T'HH':'mm':'ss".
Tujuan dari penentu format "s" adalah untuk menghasilkan string hasil yang berurutan secara konsisten dalam urutan awal atau akhir berdasarkan nilai tanggal dan waktu. Akibatnya, meskipun penentu format standar "s" mewakili nilai tanggal dan waktu dalam format yang konsisten, operasi pemformatan tidak mengubah nilai objek tanggal dan waktu yang sedang diformat untuk mencerminkan properti DateTime.Kind atau nilai DateTimeOffset.Offset. Misalnya, string yang dihasilkan dengan memformat nilai tanggal dan waktu2014-11-15T18:32:17+00:00 serta 2014-11-15T18:32:17+08:00 adalah identik.
Ketika penentu format standar ini digunakan, operasi pemformatan atau penguraian selalu menggunakan kultur invarian.
Contoh berikut menggunakan penentu format "s" untuk menampilkan nilai DateTime dan DateTimeOffset pada sistem di zona waktu Pasifik AS.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00
Penentu format universal yang dapat diurutkan ("u")
Penentu format standar "u" merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.UniversalSortableDateTimePattern. Pola ini mencerminkan standar yang ditentukan, dan properti tersebut bersifat baca-saja. Oleh karena itu, pola ini selalu sama, terlepas dari kultur yang digunakan atau penyedia format yang disediakan. String format kustom tersebut adalah "yyyy'-'MM'-'dd HH':'mm':'ss'Z'". Ketika penentu format standar ini digunakan, operasi pemformatan atau penguraian selalu menggunakan kultur invarian.
Meskipun string hasil harus mengekspresikan waktu sebagai Waktu Universal Terkoordinasi (UTC), tidak ada konversi nilai asli DateTime yang dilakukan selama operasi pemformatan. Oleh karena itu, Anda harus mengonversi nilai DateTime ke UTC dengan memanggil metode DateTime.ToUniversalTime sebelum memformatnya. Sebaliknya, nilai DateTimeOffset melakukan konversi ini secara otomatis; tidak perlu memanggil metode DateTimeOffset.ToUniversalTime sebelum operasi pemformatan.
Contoh berikut menggunakan penentu format "u" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z
Penentu format lengkap universal ("U")
Penentu format standar "U" merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.FullDateTimePattern kultur tertentu. Polanya sama dengan pola "F". Namun, nilai DateTime secara otomatis dikonversi ke UTC sebelum diformat.
Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti FullDateTimePattern beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
FullDateTimePattern | Menentukan format keseluruhan string hasil. |
DayNames | Menentukan nama lokal hari yang dapat muncul dalam string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Penentu format "U" tidak didukung oleh jenis DateTimeOffset dan menghasilkan FormatException jika digunakan untuk memformat nilai DateTimeOffset.
Contoh berikut menggunakan penentu format "U" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("sv-FI")));
// Displays den 10 april 2008 13:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("sv-FI")))
' Displays den 10 april 2008 13:30:00
Format waktu
Grup ini mencakup format berikut:
Penentu format waktu pendek ("t")
Penentu format standar "t" merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.ShortTimePattern saat ini. Misalnya, string format kustom untuk kultur invarian adalah "HH:mm".
String hasil dipengaruhi oleh informasi pemformatan objek DateTimeFormatInfo tertentu. Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti DateTimeFormatInfo.ShortTimePattern beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
ShortTimePattern | Menentukan format komponen waktu dari string hasil. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "t" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30 AM
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30 AM
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30
Penentu format waktu panjang ("T")
Penentu format standar "T" merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.LongTimePattern kultur tertentu. Misalnya, string format kustom untuk kultur invarian adalah "HH:mm:ss".
Tabel berikut mencantumkan DateTimeFormatInfo properti objek yang dapat mengontrol pemformatan string yang dihasilkan. Penentu format kustom yang dihasilkan oleh properti DateTimeFormatInfo.LongTimePattern beberapa kultur mungkin tidak memanfaatkan semua properti.
Properti | Deskripsi |
---|---|
LongTimePattern | Menentukan format komponen waktu dari string hasil. |
TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan detik dari suatu waktu. |
AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang dalam jam dengan format 12-jam. |
PMDesignator | Menentukan string yang menunjukkan waktu dari siang hari hingga sebelum tengah malam dalam jam dengan format 12-jam. |
Contoh berikut menggunakan penentu format "T" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30:00
Format tanggal parsial
Grup ini mencakup format berikut:
Penentu format bulan ("M", "m")
Penentu format standar "M" atau “m” merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.MonthDayPattern saat ini. Misalnya, string format kustom untuk kultur invarian adalah "MMMM dd".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
Properti | Deskripsi |
---|---|
MonthDayPattern | Menentukan format keseluruhan string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
Contoh berikut menggunakan penentu format "m" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays April 10
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("ms-MY")));
// Displays 10 April
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays April 10
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("ms-MY")))
' Displays 10 April
Penentu format bulan tahun ("Y", "y")
Penentu format standar "Y" atau “y” merepresentasikan string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.YearMonthPattern kultur tertentu. Misalnya, string format kustom untuk kultur invarian adalah "yyyy MMMM".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
Properti | Deskripsi |
---|---|
YearMonthPattern | Menentukan format keseluruhan string hasil. |
MonthNames | Menentukan nama lokal bulan yang dapat muncul dalam string hasil. |
Contoh berikut menggunakan penentu format "y" untuk menampilkan nilai tanggal dan waktu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("Y",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays April, 2008
Console.WriteLine(date1.ToString("y",
CultureInfo.CreateSpecificCulture("af-ZA")));
// Displays April 2008
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")))
' Displays April, 2008
Console.WriteLine(date1.ToString("y", CultureInfo.CreateSpecificCulture("af-ZA")))
' Displays April 2008
Pengaturan Panel Kontrol
Di Windows, pengaturan dalam item Opsi Regional dan Bahasa di Panel Kontrol memengaruhi string hasil yang dihasilkan oleh operasi pemformatan. Pengaturan ini digunakan untuk menginisialisasi objek DateTimeFormatInfo terkait dengan kultur saat ini, yang menyediakan nilai yang digunakan untuk mengatur pemformatan. Komputer yang menggunakan pengaturan yang berbeda menghasilkan string hasil yang berbeda.
Selain itu, jika Anda menggunakan konstruktor CultureInfo(String) untuk membuat instans objek CultureInfo baru yang mewakili kultur yang sama dengan kultur sistem saat ini, penyesuaian apa pun yang ditetapkan oleh item Opsi Regional dan Bahasa di Panel Kontrol akan diterapkan ke objek CultureInfo baru. Anda dapat menggunakan konstruktor CultureInfo(String, Boolean) untuk membuat objek CultureInfo yang tidak mencerminkan kustomisasi sistem.
Properti DateTimeFormatInfo
Pemformatan dipengaruhi oleh properti objek DateTimeFormatInfo saat ini, yang disediakan secara implisit oleh kultur saat ini atau secara eksplisit oleh parameter IFormatProvider metode yang memanggil pemformatan. Untuk parameter IFormatProvider, aplikasi Anda harus menentukan objek CultureInfo, yang merepresentasikan kultur, atau objek DateTimeFormatInfo, yang mewakili konvensi pemformatan tanggal dan waktu kultur tertentu. Banyak penentu format tanggal dan waktu standar adalah alias untuk pola pemformatan yang ditentukan oleh properti objek DateTimeFormatInfo saat ini. Aplikasi Anda dapat mengubah hasil beberapa penentu format tanggal dan waktu standar dengan mengubah pola format tanggal dan waktu yang sesuai dari properti DateTimeFormatInfonya.