Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
String format tanggal dan waktu standar menggunakan satu karakter sebagai penentu format untuk menentukan representasi teks dari DateTimenilai , , DateTimeOffsetDateOnly, atau TimeOnly . 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 dengan dua cara:
Untuk menentukan string yang dihasilkan dari operasi pemformatan.
Untuk menentukan representasi teks dari nilai tanggal dan waktu yang dapat dikonversi ke DateTimenilai , , DateTimeOffsetDateOnly, atau TimeOnly oleh operasi penguraian.
Nasihat
Anda dapat mengunduh Utilitas Pemformatan, aplikasi .NET Windows Forms yang memungkinkan Anda menerapkan string format ke nilai numerik atau tanggal dan waktu dan menampilkan string hasil. Kode sumber tersedia untuk C# dan Visual Basic.
Tabel penentu format
Tabel berikut ini menjelaskan penentu format tanggal dan waktu standar. Kecuali dinyatakan lain, penentu format tanggal dan waktu standar tertentu menghasilkan representasi string yang identik terlepas dari apakah itu digunakan dengan nilai DateTime atau DateTimeOffset. Tidak semua penentu format dapat digunakan dengan DateOnly nilai dan TimeOnly ; untuk informasi tambahan, lihat Pemformatan DateOnly dan TimeOnly. Untuk informasi tentang bagaimana pengaturan regional pada Windows dan objek saat ini DateTimeFormatInfo dapat memengaruhi pemformatan tanggal dan waktu, lihat Pengaturan Panel Kontrol dan Properti DateTimeFormatInfo.
| Penentu format | Deskripsi | Contoh |
|---|---|---|
| "d" | Pola tanggal pendek. Informasi selengkapnya:Penentu format tanggal pendek ("d"). |
2009-06-15T13:45:30 -> 15/6/2009 (en-US) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) DateOnly (2009-06-15) -> 15/6/2009 (en-US) |
| "D" | Pola tanggal panjang. Informasi selengkapnya:Penentu format tanggal panjang ("D"). |
2009-06-15T13:45:30 -> Senin, 15 Juni 2009 (en-US) 2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU) 2009-06-15T13:45:30 -> Senin, tanggal 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 -> Senin, 15 Juni 2009 13:45 (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 -> Senin, 15 Juni 2009 13:45:30 (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 -> 15/6/2009 13:45 (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 -> 15/6/2009 13:45:30 (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 -> 15 Juni (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 nilai DateOnly: 2009-06-15 --> 2009-06-15 nilai TimeOnly: 13:45:30 --> 13:45:30.00000000 |
| "R", "r" | Pola RFC1123. Informasi selengkapnya: Penentu format RFC1123 ("R", "r"). |
input DateTimeOffset: 2009-06-15T13:45:30 -> Senin, 15 Jun 2009 20:45:30 GMT input DateTime: 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 -> 13:45 (en-US) 2009-06-15T13:45:30 -> 13:45 (hr-HR) 2009-06-15T13:45:30 -> 01:45 م (ar-EG) TimeOnly (13:45:30) -> 13:45 (en-US) |
| "T" | Pola waktu panjang. Informasi selengkapnya: Penentu format waktu panjang ("T"). |
2009-06-15T13:45:30 -> 13:45:30 (en-US) 2009-06-15T13:45:30 -> 13:45:30 (hr-HR) 2009-06-15T13:45:30 -> 01:45:30 م (ar-EG) TimeOnly (13:45:30) -> 13:45:30 (en-US) |
| "u" | Pola tanggal/waktu universal yang dapat diurutkan. Informasi selengkapnya: Penentu format universal yang dapat diurutkan ("u"). |
Dengan nilai DateTime: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z Dengan nilai DateTimeOffset: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
| "U" | Pola tanggal/waktu lengkap universal. Informasi selengkapnya: Penentu format universal lengkap ("U"). |
2009-06-15T13:45:30 -> Senin, 15 Juni 2009 2009 20:45:30 (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 -> Juni 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. | Melempar runtime 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/2008Anda dapat meneruskan objek CultureInfo yang mewakili budaya yang pemformatannya akan digunakan untuk metode yang memiliki parameter IFormatProvider. 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/2008Anda dapat meneruskan objek DateTimeFormatInfo yang menyediakan informasi pemformatan ke metode yang memiliki parameter IFormatProvider. Contoh berikut menampilkan tanggal menggunakan format tanggal pendek dari objek DateTimeFormatInfo untuk budaya 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
Nota
Untuk informasi tentang menyesuaikan pola atau string yang digunakan dalam memformat nilai tanggal dan waktu, lihat topik kelas NumberFormatInfo.
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 | 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 DateTime.ParseExactmetode , , DateTimeOffset.ParseExactDateOnly.ParseExact, dan TimeOnly.ParseExact , yang memerlukan string input agar persis sesuai dengan pola tertentu agar operasi penguraian berhasil. Banyak string format standar dipetakan ke beberapa string format kustom, sehingga nilai tanggal dan waktu dapat diwakili dalam berbagai format dan operasi penguraian masih akan berhasil. Anda dapat menentukan string format kustom atau string yang sesuai dengan string format standar dengan memanggil 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($" {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 menjelaskan penentu format standar untuk DateTimenilai , , DateTimeOffsetDateOnly, dan TimeOnly .
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 budaya tertentu. Misalnya, string format kustom yang dikembalikan oleh properti ShortDatePattern dari budaya invarian adalah "MM/dd/yyyy".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
| Harta benda | 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 ini mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
| Harta benda | Deskripsi |
|---|---|
| LongDatePattern | Menentukan format keseluruhan string hasil. |
| DayNames | Menentukan nama hari yang dilokalkan yang dapat muncul dalam string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan 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 universal penuh ("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 properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti DateTimeFormatInfo.LongDatePattern dan DateTimeFormatInfo.ShortTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| LongDatePattern | Menentukan format komponen tanggal string hasil. |
| ShortTimePattern | Menentukan format komponen waktu dari string hasil. |
| DayNames | Menentukan nama hari yang dilokalkan yang dapat muncul dalam string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan yang dapat muncul dalam string hasil. |
| TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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 properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti FullDateTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| FullDateTimePattern | Menentukan format keseluruhan string hasil. |
| DayNames | Menentukan nama hari yang dilokalkan yang dapat muncul dalam string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan yang dapat muncul dalam string hasil. |
| TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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 properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti DateTimeFormatInfo.ShortDatePattern dan DateTimeFormatInfo.ShortTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| ShortDatePattern | Menentukan format komponen tanggal 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 kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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 properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti DateTimeFormatInfo.ShortDatePattern dan DateTimeFormatInfo.LongTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| ShortDatePattern | Menentukan format komponen tanggal 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 kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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 bersama dengan properti DateTime.Kind dalam teks. String yang diformat dapat diurai kembali dengan menggunakan metode DateTime.Parse(String, IFormatProvider, DateTimeStyles) atau DateTime.ParseExact jika parameter styles diatur ke DateTimeStyles.RoundtripKind.
Untuk DateOnly nilai, penentu format ini menghasilkan string ISO 8601 khusus tanggal dalam format "yyyy-MM-dd". Untuk TimeOnly nilai, ini menghasilkan string ISO 8601 khusus waktu dalam format "HH:mm:ss.fffffff".
Penentu format standar "O" atau "o" sesuai dengan "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffK" string format kustom untuk nilai DateTime dan ke "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' string format kustom fffffffzzz" untuk nilai DateTimeOffset. Dalam string ini, pasangan tanda kutip tunggal yang memisahkan karakter individu, seperti tanda hubung, titik dua, dan huruf "T", menunjukkan bahwa karakter individu adalah harfiah yang tidak dapat diubah. Apostrof tidak muncul dalam string output.
Penentu format standar "O" atau "o" (dan "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' untai (karakter) format kustom fffffffK) memanfaatkan tiga cara ISO 8601 mewakili informasi zona waktu untuk mempertahankan properti Kind dari nilai DateTime:
Komponen zona waktu DateTimeKind.Local nilai tanggal dan waktu adalah offset dari UTC (misalnya, +01:00, -07:00). Semua nilai DateTimeOffset juga diwakili dalam format ini.
Komponen zona waktu dari nilai tanggal dan waktu DateTimeKind.Utc menggunakan "Z" (yang merupakan singkatan dari offset nol) 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 Parsemetode , TryParse, ParseExact, dan TryParseExact dari DateTime, DateTimeOffset, DateOnly, dan TimeOnly dapat diurai dengan menggunakan penentu format "O" atau "o" jika mereka 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". Ini karena metode penguraian yang menggunakan string format kustom tidak dapat mengurai representasi string dari 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 A.S.
using System;
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine($"{dat} ({dat.Kind}) --> {dat:O}");
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine($"{uDat} ({uDat.Kind}) --> {uDat:O}");
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine($"{lDat} ({lDat.Kind}) --> {lDat:O}\n");
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine($"{dto} --> {dto:O}");
}
}
// 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 asli dengan memanggil metode tanggal dan waktu Parse.
// 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 {originalDate} {originalDate.Kind} to {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 {originalDate} {originalDate.Kind} to {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 {originalDate} {originalDate.Kind} to {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 {originalDTO} to {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 properti DateTimeFormatInfo.RFC1123Pattern. 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 dikembalikan oleh properti DateTimeFormatInfo.InvariantInfo yang mewakili budaya invarian.
| Harta benda | Deskripsi |
|---|---|
| RFC1123Pattern | Menentukan format string hasil. |
| AbbreviatedDayNames | Menentukan nama hari singkatan yang dapat muncul dalam string hasil. |
| AbbreviatedMonthNames | Menentukan nama bulan singkatan yang dapat muncul dalam string hasil. |
Meskipun standar RFC 1123 mengekspresikan waktu sebagai Waktu Universal Terkoordinasi (UTC), operasi pemformatan tidak mengubah nilai objek DateTime yang sedang diformat. Oleh karena itu, Anda harus mengonversi nilai DateTime ke UTC dengan memanggil metode DateTime.ToUniversalTime sebelum Anda melakukan operasi pemformatan. Sebaliknya, nilai DateTimeOffset melakukan konversi ini secara otomatis; tidak perlu memanggil metode DateTimeOffset.ToUniversalTime sebelum operasi pemformatan.
Contoh berikut menggunakan penentu format "r" untuk menampilkan DateTime dan nilai 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" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.SortableDateTimePattern. Pola mencerminkan standar yang ditentukan (ISO 8601), dan properti 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 hasil yang dihasilkan dengan memformat nilai tanggal dan waktu 2014-11-15T18:32:17+00:00 dan 2014-11-15T18:32:17+08:00 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 A.S.
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" mewakili 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 DateTime asli 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 universal penuh ("U")
Penentu format standar "U" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.FullDateTimePattern budaya tertentu. Polanya sama dengan pola "F". Namun, nilai DateTime secara otomatis dikonversi ke UTC sebelum diformat.
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti FullDateTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| FullDateTimePattern | Menentukan format keseluruhan string hasil. |
| DayNames | Menentukan nama hari yang dilokalkan yang dapat muncul dalam string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan yang dapat muncul dalam string hasil. |
| TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 12 jam. |
Penentu format "U" tidak didukung oleh jenis DateTimeOffset dan melemparkan 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" mewakili 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 properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti DateTimeFormatInfo.ShortTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| ShortTimePattern | Menentukan format komponen waktu dari string hasil. |
| TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.LongTimePattern budaya tertentu. Misalnya, string format kustom untuk kultur invarian adalah "HH:mm:ss".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang dapat mengontrol pemformatan string yang dikembalikan. Penentu format kustom yang dikembalikan oleh properti DateTimeFormatInfo.LongTimePattern dari beberapa budaya mungkin tidak menggunakan semua properti.
| Harta benda | Deskripsi |
|---|---|
| LongTimePattern | Menentukan format komponen waktu dari string hasil. |
| TimeSeparator | Menentukan string yang memisahkan komponen jam, menit, dan kedua dari waktu tertentu. |
| AMDesignator | Menentukan string yang menunjukkan waktu dari tengah malam hingga sebelum siang hari dalam jam 12 jam. |
| PMDesignator | Menentukan string yang menunjukkan waktu dari siang hingga sebelum tengah malam dalam jam 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" mewakili 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.
| Harta benda | Deskripsi |
|---|---|
| MonthDayPattern | Menentukan format keseluruhan string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan 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" mewakili string format tanggal dan waktu kustom yang ditentukan oleh properti DateTimeFormatInfo.YearMonthPattern dari budaya tertentu. Misalnya, string format kustom untuk kultur invarian adalah "yyyy MMMM".
Tabel berikut mencantumkan properti objek DateTimeFormatInfo yang mengontrol pemformatan string yang dikembalikan.
| Harta benda | Deskripsi |
|---|---|
| YearMonthPattern | Menentukan format keseluruhan string hasil. |
| MonthNames | Menentukan nama bulan yang dilokalkan 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
Pemformatan DateOnly dan TimeOnly
DateOnly dan TimeOnly jenis mendukung subset string format tanggal dan waktu standar:
DateOnly mendukung penentu format terkait tanggal:
- "d" (tanggal pendek), "D" (tanggal panjang)
- "M" atau "m" (bulan/hari)
- "Y" atau "y" (tahun/bulan)
- "O" atau "o" (pulang pergi, hanya bagian tanggal)
- "R" atau "r" (RFC1123, hanya bagian tanggal)
TimeOnly mendukung penentu format terkait waktu:
- "t" (waktu singkat), "T" (waktu yang lama)
- "O" atau "o" (pulang pergi, hanya bagian waktu)
- "R" atau "r" (RFC1123, hanya bagian waktu)
Penentu format yang menggabungkan informasi tanggal dan waktu (seperti "f", "F", "g", "G", "s", "u", "U") melempar FormatException saat digunakan dengan DateOnly atau TimeOnly.
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 yang terkait dengan budaya saat ini, yang menyediakan nilai yang digunakan untuk mengatur pemformatan. Komputer yang menggunakan pengaturan berbeda menghasilkan string hasil yang berbeda.
Selain itu, jika Anda menggunakan konstruktor CultureInfo(String) untuk membuat instans objek CultureInfo baru yang mewakili budaya yang sama dengan budaya sistem saat ini, kustomisasi 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 budaya saat ini atau secara eksplisit oleh parameter IFormatProvider metode yang memanggil pemformatan. Untuk parameter IFormatProvider, aplikasi Anda harus menentukan objek CultureInfo, yang mewakili budaya, atau objek DateTimeFormatInfo, yang mewakili konvensi tanggal dan waktu pemformatan budaya 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 yang dihasilkan oleh beberapa penentu format tanggal dan waktu standar dengan mengubah pola format tanggal dan waktu yang sesuai dari properti DateTimeFormatInfo yang sesuai.