String format tanggal dan waktu kustom

String format tanggal dan waktu menentukan representasi teks dari nilai DateTime atau DateTimeOffset yang dihasilkan dari operasi pemformatan. Ini juga dapat menentukan representasi nilai tanggal dan waktu yang diperlukan dalam operasi penguraian agar berhasil mengonversi string menjadi tanggal dan waktu. String format kustom terdiri dari satu atau beberapa penentu format tanggal dan waktu kustom. String apa pun yang bukan string format tanggal dan waktu standar ditafsirkan sebagai string format tanggal dan waktu kustom.

Tip

Anda dapat mengunduh Utilitas Pemformatan, aplikasi .NET Core Formulir Windows 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.

String format tanggal dan waktu kustom dapat digunakan dengan nilai DateTime dan DateTimeOffset.

Catatan

Beberapa contoh C# dalam artikel ini dijalankan di Try.NET di barisan kode runner dan playground. 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 barisan kode runner dan playground 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.

Dalam operasi pemformatan, string format tanggal dan waktu kustom dapat digunakan baik dengan ToString metode instans tanggal dan waktu atau dengan metode yang mendukung pemformatan komposit. Contoh berikut mengilustrasikan kedua penggunaan tersebut.

DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");

DateTimeOffset thisDate2 = new DateTimeOffset(2011, 6, 10, 15, 24, 16,
                                              TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                   thisDate2);
// The example displays the following output:
//    Today is June 10, 2011.
//    The current date and time: 06/10/11 15:24:16 +00:00
Dim thisDate1 As Date = #6/10/2011#
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".")

Dim thisDate2 As New DateTimeOffset(2011, 6, 10, 15, 24, 16, TimeSpan.Zero)
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                  thisDate2)
' The example displays the following output:
'    Today is June 10, 2011.
'    The current date and time: 06/10/11 15:24:16 +00:00

Dalam operasi penguraian, string format tanggal dan waktu kustom dapat digunakan dengan metode DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExact, dan DateTimeOffset.TryParseExact. Metode ini mengharuskan string input sesuai persis dengan pola tertentu agar operasi penguraian berhasil. Contoh berikut mengilustrasikan panggilan ke metode DateTimeOffset.ParseExact(String, String, IFormatProvider) untuk mengurai tanggal yang harus menyertakan hari, bulan, dan tahun dalam dua digit.

using System;
using System.Globalization;

public class Example1
{
    public static void Main()
    {
        string[] dateValues = { "30-12-2011", "12-30-2011",
                              "30-12-11", "12-30-11" };
        string pattern = "MM-dd-yy";
        DateTime parsedDate;

        foreach (var dateValue in dateValues)
        {
            if (DateTime.TryParseExact(dateValue, pattern, null,
                                      DateTimeStyles.None, out parsedDate))
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate);
            else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue);
        }
    }
}
// The example displays the following output:
//    Unable to convert '30-12-2011' to a date and time.
//    Unable to convert '12-30-2011' to a date and time.
//    Unable to convert '30-12-11' to a date and time.
//    Converted '12-30-11' to 12/30/2011.
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim dateValues() As String = {"30-12-2011", "12-30-2011",
                                        "30-12-11", "12-30-11"}
        Dim pattern As String = "MM-dd-yy"
        Dim parsedDate As Date

        For Each dateValue As String In dateValues
            If DateTime.TryParseExact(dateValue, pattern, Nothing,
                                      DateTimeStyles.None, parsedDate) Then
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate)
            Else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue)
            End If
        Next
    End Sub
End Module
' The example displays the following output:
'    Unable to convert '30-12-2011' to a date and time.
'    Unable to convert '12-30-2011' to a date and time.
'    Unable to convert '30-12-11' to a date and time.
'    Converted '12-30-11' to 12/30/2011.

Tabel berikut ini menjelaskan penentu format tanggal dan waktu kustom dan menampilkan string hasil yang dihasilkan oleh setiap penentu format. Secara default, string hasil mencerminkan konvensi pemformatan budaya en-US. Jika penentu format tertentu menghasilkan string hasil yang dilokalkan, contohnya juga mencatat budaya yang diterapkan string hasil. Untuk informasi selengkapnya tentang menggunakan string format tanggal dan waktu kustom, lihat bagian Catatan.

Penentu format Deskripsi Contoh
"h" Hari dalam sebulan, dari 1 hingga 31.

Informasi selengkapnya: Penentu format kustom "d".
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
"dd" Hari dalam sebulan, dari 01 hingga 31.

Informasi lebih lanjut: Penentu Format Kustom "dd".
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
"ddd" Nama singkatan dari hari dalam seminggu.

Informasi lebih lanjut: Penentu Format Kustom "ddd".
2009-06-15T13:45:30 -> Mon (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. fr-FR
"dddd" Nama lengkap hari dalam seminggu.

Informasi lebih lanjut: Penentu Format Kustom "dddd".
2009-06-15T13:45:30 -> Monday (en-US)

2009-06-15T13:45:30 -> понедельник (ru-RU)

2009-06-15T13:45:30 -> lundi (fr-FR)
"f" Persepuluh detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu format kustom "F".
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 0
"ff" Perseratus detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu format kustom "ff".
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 00
"fff" Milidetik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "fff".
6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 000
"ffff" Sepuluh ribu detik dalam nilai tanggal dan waktu.

Informasi lebih lanjut: Penentu Format Kustom "ffff".
2009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 0000
"fffff" Seratusribu detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "fffff".
2009-06-15T13:45:30.6175400 -> 61754

6/15/2009 13:45:30.000005 -> 00000
"ffffff" Sepersejuta detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "ffffff".
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 000000
"fffffff" Sepuluh juta detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "fffffff".
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
"F" Jika tidak nol, persepuluh detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "F".
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (tanpa output)
"FF" Jika tidak nol, perseratus detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "FF".
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (tanpa output)
"FFF" Jika tidak nol, milidetik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "FFF".
2009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (tanpa output)
"FFFF" Jika tidak nol, sepuluh ribu detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "FFFF".
2009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (tanpa output)
"FFFFF" Jika bukan nol, seratus ribu detik dalam interval waktu.

Informasi selengkapnya: Penentu Format Kustom "FFFFF".
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (tanpa output)
"FFFFFF" Jika tidak nol, sepersejuta detik dalam nilai tanggal dan waktu.

Informasi lebih lanjut: Penentu Format Kustom "FFFFFF".
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (tanpa output)
"FFFFFFF" Jika tidak nol, sepuluh juta detik dalam nilai tanggal dan waktu.

Informasi selengkapnya: Penentu Format Kustom "FFFFFFF".
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
"g", "gg" Periode atau era.

Informasi selengkapnya: Penentu Format Kustom "g" atau "gg".
2009-06-15T13:45:30.6170000 -> A.D.
"h" Jam, menggunakan waktu 12 jam dari 1 hingga 12.

Informasi selengkapnya: Penentu Format Kustom "h".
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
"hh" Jam, menggunakan waktu 12 jam dari 01 hingga 12.

Informasi selengkapnya: Penentu Format Kustom "hh".
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
"H" Jam, menggunakan waktu 24 jam dari 0 hingga 23.

Informasi selengkapnya: Penentu Format Kustom "h".
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
"HH" Jam, menggunakan waktu 24 jam dari 00 hingga 23.

Informasi selengkapnya: Penentu Format Kustom "hh".
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
"K" Informasi zona waktu.

Informasi lebih lanjut: Penentu Format Kustom "K".
Dengan nilai DateTime:

2009-06-15T13:45:30, Jenis Tidak Ditentukan ->

2009-06-15T13:45:30, Kind Utc -> Z

2009-06-15T13:45:30, Kind Local -> -07:00 (tergantung pengaturan komputer lokal)

Dengan nilai DateTimeOffset:

2009-06-15T01:45:30-07:00 --> -07:00

2009-06-15T08:45:30+00:00 --> +00:00
"b" Menit, dari 0 hingga 59.

Informasi lebih lanjut: Penentu Format Kustom "m".
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
"mm" Menit, dari 00 hingga 59.

Informasi lebih lanjut: Penentu Format Kustom "mm".
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
"M" Bulan, dari 1 hingga 12.

Informasi lebih lanjut: Penentu Format Kustom "M".
2009-06-15T13:45:30 -> 6
"MM" Bulan, dari 01 hingga 12.

Informasi lebih lanjut: Penentu Format Kustom "MM".
2009-06-15T13:45:30 -> 06
"MMM" Nama singkatan dari bulan tersebut.

Informasi lebih lanjut: Penentu Format Kustom "MMM".
2009-06-15T13:45:30 -> Jun (en-US)

2009-06-15T13:45:30 -> juin (fr-FR)

2009-06-15T13:45:30 -> Jun (zu-ZA)
"MMMM" Nama lengkap bulan ini.

Informasi lebih lanjut: Penentu Format Kustom "MMMM".
2009-06-15T13:45:30 -> June (en-US)

2009-06-15T13:45:30 -> juni (da-DK)

2009-06-15T13:45:30 -> uJuni (zu-ZA)
"s" Yang kedua, dari 0 hingga 59.

Informasi lebih lanjut: Penentu Format Kustom "s".
2009-06-15T13:45:09 -> 9
"ss" Yang kedua, dari 00 hingga 59.

Informasi lebih lanjut: Penentu Format Kustom "ss".
2009-06-15T13:45:09 -> 09
"t" Karakter pertama dari penunjuk AM/PM.

Informasi lebih lanjut: Penentu Format Kustom "t".
2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"tt" Penunjuk AM/PM.

Informasi lebih lanjut: Penentu Format Kustom "tt".
2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"y" Tahun, dari 0 hingga 99.

Informasi lebih lanjut: Penentu Format Kustom "y".
0001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 19
"yy" Tahun, dari 00 menjadi 99.

Informasi lebih lanjut: Penentu Format Kustom "yy".
0001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 19
"yyy" Tahun ini, dengan minimal tiga digit.

Informasi lebih lanjut: Penentu Format Kustom "yyy".
0001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"tttt" Tahun sebagai angka empat digit

Informasi lebih lanjut: Penentu Format Kustom "yyyy".
0001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyyy" Tahun ini sebagai angka lima digit.

Informasi lebih lanjut: Penentu Format Kustom "yyyyy".
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
"z" Jam diimbangi dari UTC, tanpa nol di awal.

Informasi lebih lanjut: Penentu Format Kustom "z".
2009-06-15T13:45:30-07:00 -> -7
"zz" Jam diimbangi dari UTC, dengan nol di depan untuk nilai satu digit.

Informasi lebih lanjut: Penentu Format Kustom "zz".
2009-06-15T13:45:30-07:00 -> -07
"zzz" Jam dan menit diimbangi dari UTC.

Informasi lebih lanjut: Penentu Format Kustom "zzz".
2009-06-15T13:45:30-07:00 -> -07:00
":" Pemisah waktu.

Informasi lebih lanjut: Penentu Format Kustom ":".
2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> . (it-IT)

2009-06-15T13:45:30 -> : (ja-JP)
"/" Pemisah tanggal.

Informasi lebih lanjut: Penentu Format Kustom "/".
2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 -> - (ar-DZ)

2009-06-15T13:45:30 -> . (tr-TR)
"string"

'string'
Pemisah string harfiah.

Informasi selengkapnya: Harfiah karakter.
2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P
% Mendefinisikan karakter berikut sebagai penentu format kustom.

Informasi selengkapnya: Menggunakan Penentu Format Kustom Tunggal.
2009-06-15T13:45:30 (%h) -> 1
\ Karakter escape.

Informasi selengkapnya: Harfiah karakter dan Menggunakan Karakter Escape.
2009-06-15T13:45:30 (h \h) -> 1 jam
Karakter lainnya Karakter disalin ke string hasil tanpa diubah.

Informasi selengkapnya: Harfiah karakter.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

Bagian berikut ini menyediakan informasi tambahan tentang setiap penentu format tanggal dan waktu kustom. Kecuali dinyatakan lain, setiap penentu menghasilkan representasi string yang identik terlepas dari apakah itu digunakan dengan nilai DateTime atau nilai DateTimeOffset.

Penentu format "d" hari

Penentu format kustom "d"

Penentu format kustom "d" mewakili hari dalam sebulan sebagai angka dari 1 hingga 31. Satu digit hari diformat tanpa nol di depannya.

Jika penentu format "d" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "d". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "d" dalam beberapa string format.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("d, M",
                  CultureInfo.InvariantCulture));
// Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("d, M", _
                  CultureInfo.InvariantCulture))
' Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto                                                

Kembali ke tabel

Penentu format kustom "dd"

String format kustom "dd" menunjukkan hari dalam sebulan sebagai angka dari 01 hingga 31. Satu digit hari diformat dengan nol di depannya.

Contoh berikut menyertakan penentu format kustom "dd" dalam string format kustom.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Kembali ke tabel

Penentu format kustom "ddd"

Penentu format kustom "ddd" mewakili nama singkatan dari hari dalam seminggu. Nama singkatan yang dilokalkan pada hari dalam seminggu diambil dari properti DateTimeFormatInfo.AbbreviatedDayNames budaya saat ini atau yang ditentukan.

Contoh berikut menyertakan penentu format kustom "ddd" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Kembali ke tabel

Penentu format kustom "dddd"

Penentu format kustom "dddd" (ditambah sejumlah penentu "d" tambahan) mewakili nama lengkap hari itu. Nama yang dilokalkan hari dalam seminggu diambil dari properti DateTimeFormatInfo.DayNames budaya saat ini atau yang ditentukan.

Contoh berikut menyertakan penentu format kustom "dddd" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Kembali ke tabel

Penentu pecahan "f" detik huruf kecil

Penentu format kustom "f"

Penentu format kustom "f" mewakili digit paling signifikan dari pecahan detik; artinya, mewakili persepuluh detik dalam nilai tanggal dan waktu.

Jika penentu format "f" digunakan tanpa penentu format lain, format ini ditafsirkan sebagai penentu format tanggal dan waktu standar "f". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Bila Anda menggunakan penentu format "f" sebagai bagian dari string format yang disediakan untuk metode ParseExact, TryParseExact, ParseExact, atau TryParseExact, jumlah penentu format "f" menunjukkan jumlah digit paling signifikan dari pecahan detik yang harus ada agar berhasil mengurai string.

Contoh berikut menyertakan penentu format kustom "f" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "ff"

Penentu format kustom "ff" mewakili dua digit paling signifikan dari pecahan detik; artinya, ini mewakili per seratus detik dalam nilai tanggal dan waktu.

contoh berikut menyertakan penentu format kustom "ff" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "fff"

Penentu format kustom "fff" mewakili tiga digit paling signifikan dari pecahan detik; artinya, mewakili milidetik dalam nilai tanggal dan waktu.

Contoh berikut mencakup penentu format kustom "fff" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "ffff"

Penentu format kustom "ffff" mewakili empat digit paling signifikan dari pecahan detik; artinya, mewakili sepuluh ribu detik dalam nilai tanggal dan waktu.

Meskipun dimungkinkan untuk menampilkan sepuluh ribu komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada Windows NT versi 3.5 (dan yang lebih baru) dan sistem operasi Windows Vista, resolusi jamnya sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "fffff"

Penentu format kustom "fffff" mewakili lima digit paling signifikan dari pecahan detik; artinya, mewakili seratus ribu detik dalam nilai tanggal dan waktu.

Meskipun dimungkinkan untuk menampilkan seratus ribu dari komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "ffffff"

Penentu format kustom "ffffff" mewakili enam digit paling signifikan dari pecahan detik; artinya, itu mewakili jutaan detik dalam nilai tanggal dan waktu.

Meskipun dimungkinkan untuk menampilkan jutaan komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "fffffff"

Penentu format kustom "fffffff" mewakili tujuh digit paling signifikan dari pecahan detik; artinya, itu mewakili sepuluh juta detik dalam nilai tanggal dan waktu.

Meskipun dimungkinkan untuk menampilkan sepuluh juta dari komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu pecahan "F" detik huruf besar

Penentu format kustom "F"

Penentu format kustom "F" mewakili digit paling signifikan dari pecahan detik; artinya, mewakili persepuluh detik dalam nilai tanggal dan waktu. Tidak ada yang ditampilkan jika digit adalah nol, dan titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Jika penentu format "F" digunakan tanpa penentu format lain, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "F". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Jumlah penentu format "F" yang digunakan dengan metode ParseExact, TryParseExact, ParseExact, atau TryParseExact menunjukkan jumlah maksimum digit paling signifikan dari pecahan detik yang dapat ditampilkan untuk berhasil menguraikan string.

Contoh berikut menyertakan penentu format kustom "F" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "FF"

Penentu format kustom "FF" mewakili dua digit paling signifikan dari pecahan detik; artinya, ini mewakili per seratus detik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika dua digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Contoh berikut mencakup penentu format kustom "FF" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "FFF"

Penentu format kustom "FFF" mewakili tiga digit paling signifikan dari pecahan detik; artinya, mewakili milidetik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika tiga digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Contoh berikut mencakup penentu format kustom "FFF" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Kembali ke tabel

Penentu format kustom "FFFF"

Penentu format kustom "FFFF" mewakili empat digit paling signifikan dari pecahan detik; artinya, mewakili sepuluh ribu detik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika empat digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Meskipun dimungkinkan untuk menampilkan sepuluh ribu komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "FFFFF"

Penentu format kustom "FFFFF" mewakili lima digit paling signifikan dari pecahan detik; artinya, mewakili seratus ribu detik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika lima digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Meskipun dimungkinkan untuk menampilkan seratus ribu dari komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "FFFFFF"

Penentu format kustom "FFFFFF" mewakili enam digit paling signifikan dari pecahan detik; artinya, itu mewakili jutaan detik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika enam digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Meskipun dimungkinkan untuk menampilkan jutaan komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format kustom "FFFFFFF"

Penentu format kustom "FFFFFFF" mewakili tujuh digit paling signifikan dari pecahan detik; artinya, itu mewakili sepuluh juta detik dalam nilai tanggal dan waktu. Nol berikutnya tidak ditampilkan. Tidak ada yang ditampilkan jika tujuh digit signifikan adalah nol, dan dalam hal ini titik desimal yang mengikuti jumlah detik juga tidak ditampilkan.

Meskipun dimungkinkan untuk menampilkan sepuluh juta dari komponen kedua dari nilai waktu, nilai tersebut mungkin tidak bermakna. Presisi nilai tanggal dan waktu tergantung resolusi jam sistem. Pada sistem operasi Windows NT 3.5 (dan yang lebih baru) dan Windows Vista, resolusi jam adalah sekitar 10-15 milidetik.

Kembali ke tabel

Penentu format Era "g"

Penentu format kustom "g" atau "gg"

Penentu format kustom "g" atau "gg" (ditambah sejumlah penentu "g" tambahan) mewakili periode atau era, seperti M. Operasi pemformatan mengabaikan penentu ini jika tanggal yang akan diformat tidak memiliki periode atau string era terkait.

Jika penentu format "g" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "g". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "g" dalam string format kustom.

DateTime date1 = new DateTime(70, 08, 04);

Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
Dim date1 As Date = #08/04/0070#

Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.                        
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.

Kembali ke tabel

Penentu format "h" jam huruf kecil

Penentu format kustom "h"

Penentu format kustom "h" mewakili jam sebagai angka dari 1 hingga 12; artinya, jam diwakili oleh jam 12 jam yang menghitung seluruh jam sejak tengah malam atau siang. Jam tertentu setelah tengah malam tidak dapat dibedakan dari jam yang sama setelah siang. Jam tidak dibulatkan, dan satu digit jam diformat tanpa nol di depannya. Misalnya, mengingat waktu 05.43 di pagi atau sore hari, penentu format kustom ini menampilkan "5".

Jika penentu format "h" digunakan tanpa penentu format khusus lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut mencakup penentu format kustom "h" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Kembali ke tabel

Penentu format kustom "hh"

Penentu format kustom "hh" (ditambah sejumlah penentu "h" tambahan) mewakili jam sebagai angka dari 01 hingga 12; artinya, jam diwakili oleh jam 12 jam yang menghitung seluruh jam sejak tengah malam atau siang. Jam tertentu setelah tengah malam tidak dapat dibedakan dari jam yang sama setelah siang. Jam tidak dibulatkan, dan satu digit jam diformat dengan nol di depannya. Misalnya, mengingat waktu 05.43 di pagi hari atau sore hari, penentu format ini menampilkan "05".

Contoh berikut mencakup penentu format kustom "hh" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Kembali ke tabel

Penentu format "H" jam huruf besar

Penentu format kustom "h"

Penentu format kustom "H" mewakili jam sebagai angka dari 0 hingga 23; artinya, jam diwakili oleh jam 24 jam berbasis nol yang menghitung jam sejak tengah malam. Satu digit jam diformat tanpa nol di depannya.

Jika penentu format "H" digunakan tanpa penentu format kustom lainnya, penentu format tanggal dan waktu standar ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut mencakup penentu format kustom "H" dalam string format kustom.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 6:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 6:09:01                        

Kembali ke tabel

Penentu format kustom "HH"

Penentu format kustom "HH" (ditambah sejumlah penentu "H" tambahan) mewakili jam sebagai angka dari 00 hingga 23; artinya, jam diwakili oleh jam 24 jam berbasis nol yang menghitung jam sejak tengah malam. Satu digit jam diformat dengan nol di depannya.

Contoh berikut mencakup penentu format kustom "HH" dalam string format kustom.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01                        

Kembali ke tabel

Penentu format "K" zona waktu

Penentu format kustom "K"

Penentu format kustom "K" mewakili informasi zona waktu dari nilai tanggal dan waktu. Saat penentu format ini digunakan dengan nilai DateTime, string hasil ditentukan oleh nilai properti DateTime.Kind:

Untuk nilai DateTimeOffset, penentu format "K" setara dengan penentu format "zzz", dan menghasilkan string hasil yang berisi offset nilai DateTimeOffset dari UTC.

Jika penentu format "K" digunakan tanpa penentu format khusus lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menampilkan string yang dihasilkan dari penggunaan penentu format khusus "K" dengan berbagai nilai DateTime dan DateTimeOffset pada sistem di zona Waktu Pasifik AS.

Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
                  DateTime.SpecifyKind(DateTime.Now,
                       DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
                      new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z      
Console.WriteLine("'{0}'", _
                  Date.SpecifyKind(Date.Now, _
                                   DateTimeKind.Unspecified). _
                  ToString("%K"))
' Displays ''      
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
                                     New TimeSpan(5, 0, 0)). _
                  ToString("%K"))
' Displays +05:00                        

Kembali ke tabel

Penentu format "m" menit

Penentu format kustom "m"

Penentu format kustom "m" mewakili menit sebagai angka dari 0 hingga 59. Menit mewakili seluruh menit yang telah berlalu sejak satu jam terakhir. Satu digit menit diformat tanpa nol di depannya.

Jika penentu format "m" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "m". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "m" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Kembali ke tabel

Penentu format kustom "mm"

Penentu format kustom "mm" (ditambah sejumlah penentu "m" tambahan) mewakili menit sebagai angka dari 00 hingga 59. Menit mewakili seluruh menit yang telah berlalu sejak satu jam terakhir. Satu digit menit diformat dengan nol di depannya.

Contoh berikut mencakup penentu format kustom "mm" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Kembali ke tabel

Penentu format "M" bulan

Penentu format kustom "M"

Penentu format kustom "M" mewakili bulan sebagai angka dari 1 hingga 12 (atau dari 1 hingga 13 untuk kalender yang memiliki 13 bulan). Bulan satu digit diformat tanpa nol di depannya.

Jika penentu format "M" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "M". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "M" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts
Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts                       

Kembali ke tabel

Penentu format kustom "MM"

Penentu format kustom "MM" mewakili bulan sebagai angka dari 01 hingga 12 (atau dari 1 hingga 13 untuk kalender yang memiliki 13 bulan). Bulan satu digit diformat dengan nol di depannya.

Contoh berikut mencakup penentu format kustom "MM" dalam string format kustom.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Kembali ke tabel

Penentu format kustom "MMM"

Penentu format kustom "MMM" mewakili nama singkatan bulan tersebut. Nama singkatan yang dilokalkan bulan diambil dari properti DateTimeFormatInfo.AbbreviatedMonthNames budaya saat ini atau yang ditentukan.

Contoh berikut mencakup penentu format kustom "MMM" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Kembali ke tabel

Penentu format kustom "MMMM"

Penentu format kustom "MMMM" mewakili nama lengkap bulan tersebut. Nama bulan yang dilokalkan diambil dari properti DateTimeFormatInfo.MonthNames budaya saat ini atau yang ditentukan.

Contoh berikut mencakup penentu format kustom "MMMM" dalam string format kustom.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Kembali ke tabel

Penentu format "s" detik

Penentu format kustom "s"

Penentu format kustom "s" mewakili detik sebagai angka dari 0 hingga 59. Hasilnya mewakili seluruh detik yang telah berlalu sejak menit terakhir. Satu digit detik diformat tanpa nol di depannya.

Jika penentu format "s" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "s". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "s" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Kembali ke tabel

Penentu format kustom "ss"

Penentu format kustom "ss" (ditambah sejumlah penentu "s" tambahan) mewakili detik sebagai angka dari 00 hingga 59. Hasilnya mewakili seluruh detik yang telah berlalu sejak menit terakhir. Satu digit detik diformat dengan nol di depannya.

Contoh berikut menyertakan penentu format kustom "ss" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Kembali ke tabel

Penentu format "t" meridiem

Penentu format kustom "t"

Penentu format kustom "t" mewakili karakter pertama penunjuk AM/PM. Penunjuk lokal yang sesuai diambil dari properti DateTimeFormatInfo.AMDesignator atau DateTimeFormatInfo.PMDesignator dari budaya saat ini atau tertentu. Penunjuk AM digunakan untuk semua waktu dari pukul 0:00:00 (tengah malam) hingga 11:59:59.999. Penunjuk PM digunakan untuk semua waktu dari pukul 12:00:00 (siang) hingga 23:59:59.999.

Jika penentu format "t" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar "t". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "t" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Kembali ke tabel

Penentu format kustom "tt"

Penentu format kustom "tt" (ditambah sejumlah penentu "t" tambahan) mewakili seluruh penunjuk AM/PM. Penunjuk lokal yang sesuai diambil dari properti DateTimeFormatInfo.AMDesignator atau DateTimeFormatInfo.PMDesignator dari budaya saat ini atau tertentu. Penunjuk AM digunakan untuk semua waktu dari pukul 0:00:00 (tengah malam) hingga 11:59:59.999. Penunjuk PM digunakan untuk semua waktu dari pukul 12:00:00 (siang) hingga 23:59:59.999.

Pastikan untuk menggunakan penentu "tt" untuk bahasa yang perlu mempertahankan perbedaan antara AM dan PM. Contohnya adalah Bahasa Jepang, di mana penunjuk AM dan PM berbeda dalam karakter kedua dan bukan karakter pertama.

Contoh berikut menyertakan penentu format kustom "tt" dalam string format kustom.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Kembali ke tabel

Penentu format "y" tahun

Penentu format kustom "y"

Penentu format kustom "y" mewakili tahun sebagai angka satu digit atau dua digit. Jika tahun memiliki lebih dari dua digit, hanya dua digit urutan rendah yang muncul dalam hasilnya. Jika digit pertama dari dua digit tahun dimulai dengan nol (misalnya, 2008), angka tersebut diformat tanpa nol di depannya.

Jika penentu format "y" digunakan tanpa penentu format kustom lainnya, itu ditafsirkan sebagai penentu tanggal dan format waktu standar "y". Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "y" dalam string format kustom.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Kembali ke tabel

Penentu format kustom "yy"

Penentu format kustom "yy" mewakili tahun sebagai angka dua digit. Jika tahun memiliki lebih dari dua digit, hanya dua digit urutan rendah yang muncul dalam hasilnya. Jika tahun dua digit memiliki kurang dari dua digit signifikan, angka tersebut dilapisi dengan nol di depannya untuk menghasilkan dua digit.

Dalam operasi penguraian, tahun dua digit yang diurai menggunakan penentu format kustom "yy" ditafsirkan berdasarkan properti Calendar.TwoDigitYearMax kalender penyedia format saat ini. Contoh berikut menguraikan representasi string dari tanggal yang memiliki dua digit tahun dengan menggunakan kalender Gregorian default dari budaya en-US, yang, dalam hal ini, adalah budaya saat ini. Ini kemudian mengubah objek CultureInfo budaya saat ini untuk menggunakan objek GregorianCalendar yang properti TwoDigitYearMax-nya telah dimodifikasi.

using System;
using System.Globalization;
using System.Threading;

public class Example7
{
    public static void Main()
    {
        string fmt = "dd-MMM-yy";
        string value = "24-Jan-49";

        Calendar cal = (Calendar)CultureInfo.CurrentCulture.Calendar.Clone();
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
        Console.WriteLine();

        cal.TwoDigitYearMax = 2099;
        CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
        culture.DateTimeFormat.Calendar = cal;
        Thread.CurrentThread.CurrentCulture = culture;

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
    }
}
// The example displays the following output:
//       Two Digit Year Range: 1930 - 2029
//       1/24/1949
//
//       Two Digit Year Range: 2000 - 2099
//       1/24/2049
Imports System.Globalization
Imports System.Threading

Module Example
    Public Sub Main()
        Dim fmt As String = "dd-MMM-yy"
        Dim value As String = "24-Jan-49"

        Dim cal As Calendar = CType(CultureInfo.CurrentCulture.Calendar.Clone(), Calendar)
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
        Console.WriteLine()

        cal.TwoDigitYearMax = 2099
        Dim culture As CultureInfo = CType(CultureInfo.CurrentCulture.Clone(), CultureInfo)
        culture.DateTimeFormat.Calendar = cal
        Thread.CurrentThread.CurrentCulture = culture

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
    End Sub
End Module
' The example displays the following output:
'       Two Digit Year Range: 1930 - 2029
'       1/24/1949
'       
'       Two Digit Year Range: 2000 - 2099
'       1/24/2049

Contoh berikut menyertakan penentu format kustom "yy" dalam string format kustom.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Kembali ke tabel

Penentu format kustom "yyy"

Penentu format kustom "yyy" mewakili tahun dengan minimal tiga digit. Jika tahun memiliki lebih dari tiga digit signifikan, mereka disertakan dalam string hasil. Jika tahun memiliki kurang dari tiga digit, angka tersebut dilapisi dengan nol di depannya untuk menghasilkan tiga digit.

Catatan

Untuk kalender Buddha Thailand, yang dapat memiliki lima digit tahun, penentu format ini menampilkan semua digit signifikan.

Contoh berikut menyertakan penentu format kustom "yyy" dalam string format kustom.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Kembali ke tabel

Penentu format kustom "yyyy"

Penentu format kustom "yyyy" mewakili tahun dengan minimal empat digit. Jika tahun ini memiliki lebih dari empat digit yang signifikan, mereka termasuk dalam string hasil. Jika tahun memiliki kurang dari empat digit, angka dilapisi dengan nol di depannya untuk menghasilkan empat digit.

Catatan

Untuk kalender Buddha Thailand, yang dapat memiliki lima digit tahun, penentu format ini menampilkan minimal empat digit.

Contoh berikut menyertakan penentu format kustom "yyyy" dalam string format kustom.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Kembali ke tabel

Penentu format kustom "yyyyy"

Penentu format kustom "yyyyy" (ditambah sejumlah penentu "y" tambahan) mewakili tahun dengan minimal lima digit. Jika tahun memiliki lebih dari lima digit signifikan, mereka disertakan dalam string hasil. Jika tahun memiliki kurang dari lima digit, angka tersebut dilapisi dengan nol di depannya untuk menghasilkan lima digit.

Jika ada penentu "y" tambahan, angka tersebut dilapisi dengan nol di depan sebanyak yang diperlukan untuk menghasilkan jumlah penentu "y".

Contoh berikut menyertakan penentu format kustom "yyyyy" dalam string format kustom.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Kembali ke tabel

Offset penentu format "z"

Penentu format kustom "z"

Dengan nilai DateTime, penentu format kustom "z" mewakili offset yang ditandatangani dari zona waktu yang ditentukan dari Waktu Universal Terkoordinasi (UTC), yang diukur dalam jam. Offset selalu ditampilkan dengan tanda di awal. Tanda plus (+) menunjukkan jam sebelum UTC, dan tanda minus (-) menunjukkan jam di belakang UTC. Offset satu digit diformat tanpa nol di awal.

Tabel berikut ini memperlihatkan bagaimana nilai offset berubah tergantung DateTimeKind.

DateTimeKind nilai Nilai Offset
Local Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Unspecified Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Utc +0 pada .NET Core dan .NET 5+.

Pada .NET Framework, offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.

Dengan nilai DateTimeOffset, penentu format ini mewakili offset nilai DateTimeOffset dari UTC dalam jam.

Jika penentu format "z" digunakan tanpa penentu format kustom lainnya, penentu format tanggal dan waktu standar ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Contoh berikut menyertakan penentu format kustom "z" dalam string format kustom.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Kembali ke tabel

Penentu format kustom "zz"

Dengan nilai DateTime, penentu format kustom "zz" mewakili offset yang ditandatangani dari zona waktu yang ditentukan dari UTC, diukur dalam jam. Offset selalu ditampilkan dengan tanda di awal. Tanda plus (+) menunjukkan jam sebelum UTC, dan tanda minus (-) menunjukkan jam di belakang UTC. Offset satu digit diformat dengan nol di awal.

Tabel berikut ini memperlihatkan bagaimana nilai offset berubah tergantung DateTimeKind.

DateTimeKind nilai Nilai Offset
Local Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Unspecified Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Utc +00 pada .NET Core dan .NET 5+.

Pada .NET Framework, offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.

Dengan nilai DateTimeOffset, penentu format ini mewakili offset nilai DateTimeOffset dari UTC dalam jam.

Contoh berikut menyertakan penentu format kustom "zz" dalam string format kustom.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Kembali ke tabel

Penentu format kustom "zzz"

Dengan nilai DateTime, penentu format kustom "zzz" mewakili offset yang ditandatangani dari zona waktu yang ditentukan dari UTC, diukur dalam jam dan menit. Offset selalu ditampilkan dengan tanda di awal. Tanda plus (+) menunjukkan jam sebelum UTC, dan tanda minus (-) menunjukkan jam di belakang UTC. Offset satu digit diformat dengan nol di awal.

Tabel berikut ini memperlihatkan bagaimana nilai offset berubah tergantung DateTimeKind.

DateTimeKind nilai Nilai Offset
Local Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Unspecified Offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.
Utc +00:00 pada .NET Core dan .NET 5+.

Pada .NET Framework, offset yang ditandatangani dari zona waktu sistem operasi lokal dari UTC.

Dengan nilai DateTimeOffset, penentu format ini mewakili offset DateTimeOffset nilai dari UTC dalam jam dan menit.

Contoh berikut menyertakan penentu format kustom "zzz" dalam string format kustom.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Kembali ke tabel

Penentu pemisah tanggal dan waktu

Penentu format kustom ":"

Penentu format khusus ":" mewakili pemisah waktu, yang digunakan untuk membedakan jam, menit, dan detik. Pemisah waktu lokal yang sesuai diambil dari properti DateTimeFormatInfo.TimeSeparator dari budaya saat ini atau yang ditentukan.

Catatan

Untuk mengubah pemisah waktu untuk string tanggal dan waktu tertentu, tentukan karakter pemisah di dalam pembatas string harfiah. Misalnya, string hh'_'dd'_'ss format kustom menghasilkan string hasil di mana "_" (garis bawah) selalu digunakan sebagai pemisah waktu. Untuk mengubah pemisah waktu untuk semua tanggal budaya, ubah nilai properti DateTimeFormatInfo.TimeSeparator dari budaya saat ini, atau buat instance objek DateTimeFormatInfo, tetapkan karakter ke properti TimeSeparator-nya, dan panggil overload metode pemformatan yang menyertakan parameter IFormatProvider.

Jika penentu format ":" digunakan tanpa penentu format khusus lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Kembali ke tabel

Penentu format kustom "/"

Penentu format kustom "/" mewakili pemisah tanggal, yang digunakan untuk membedakan tahun, bulan, dan hari. Pemisah tanggal lokal yang sesuai diambil dari properti DateTimeFormatInfo.DateSeparator dari budaya saat ini atau yang ditentukan.

Catatan

Untuk mengubah pemisah tanggal untuk string tanggal dan waktu tertentu, tentukan karakter pemisah dalam pemisah string harfiah. Misalnya, string format khusus mm'/'dd'/'yyyy menghasilkan string hasil di mana "/" selalu digunakan sebagai pemisah tanggal. Untuk mengubah pemisah tanggal untuk semua tanggal suatu budaya, ubah nilai properti DateTimeFormatInfo.DateSeparator dari budaya saat ini, atau buat instance objek DateTimeFormatInfo, tetapkan karakter ke properti DateSeparator-nya, dan panggil overload metode pemformatan yang menyertakan parameter IFormatProvider.

Jika penentu format "/" digunakan tanpa penentu format khusus lainnya, itu ditafsirkan sebagai penentu format tanggal dan waktu standar dan menampilkan FormatException. Untuk informasi selengkapnya tentang menggunakan penentu format tunggal, lihat Menggunakan Penentu Format Kustom Tunggal nanti di artikel ini.

Kembali ke tabel

Harfiah karakter

Karakter berikut dalam string format tanggal dan waktu khusus dicadangkan dan selalu ditafsirkan sebagai karakter pemformatan atau, dalam hal ", ', /, dan \, sebagai karakter khusus.

  • F
  • H
  • K
  • M
  • d
  • f
  • g
  • h
  • m
  • s
  • t
  • y
  • z
  • %
  • :
  • /
  • "
  • '
  • \

Semua karakter lain selalu ditafsirkan sebagai harfiah karakter dan, dalam operasi pemformatan, disertakan dalam string hasil tanpa diubah. Dalam operasi penguraian, mereka harus mencocokkan karakter dalam string input dengan tepat; perbandingannya peka huruf besar/kecil.

Contoh berikut menyertakan karakter harfiah "PST" (untuk Waktu Standar Pasifik) dan "PDT" (untuk Waktu Musim Panas Pasifik) untuk mewakili zona waktu lokal dalam format string. Perhatikan bahwa string disertakan dalam string hasil, dan bahwa string yang menyertakan string zona waktu lokal juga berhasil diurai.

using System;
using System.Globalization;

public class Example5
{
    public static void Main()
    {
        String[] formats = { "dd MMM yyyy hh:mm tt PST",
                           "dd MMM yyyy hh:mm tt PDT" };
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(formats[1]));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm PST";
        DateTime newDate;
        if (DateTime.TryParseExact(value, formats, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim formats() As String = {"dd MMM yyyy hh:mm tt PST",
                                    "dd MMM yyyy hh:mm tt PDT"}
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(formats(1)))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm PST"
        Dim newDate As Date
        If Date.TryParseExact(value, formats, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM PDT
'       12/25/2016 12:00:00 PM

Ada dua cara untuk menunjukkan bahwa karakter harus ditafsirkan sebagai karakter harfiah dan bukan sebagai karakter cadangan, sehingga karakter tersebut dapat disertakan dalam string hasil atau berhasil diuraikan dalam string input:

Contoh berikut mencakup karakter harfiah "pst" (untuk waktu Standar Pasifik) untuk mewakili zona waktu lokal dalam string format. Karena "s" dan "t" keduanya adalah string format khusus, kedua karakter harus di-escape untuk ditafsirkan sebagai harfiah karakter.

using System;
using System.Globalization;

public class Example3
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt p\\s\\t";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt p\s\t"
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM
  • Dengan melampirkan seluruh string harfiah dalam tanda kutip atau apostrof. Contoh berikut ini seperti contoh sebelumnya, kecuali bahwa "pst" diapit dalam tanda kutip untuk menunjukkan bahwa seluruh string yang dibatasi harus ditafsirkan sebagai harfiah karakter.
using System;
using System.Globalization;

public class Example6
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt \"pst\"";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt ""pst"""
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM

Catatan

Menggunakan penentu format kustom tunggal

String format tanggal dan waktu kustom terdiri dari dua karakter atau lebih. Metode pemformatan tanggal dan waktu menginterpretasikan string karakter tunggal apa pun sebagai string format tanggal dan waktu standar. Jika mereka tidak mengenali karakter sebagai penentu format yang valid, mereka akan menampilkan FormatException. Misalnya, string format yang hanya terdiri dari penentu "h" ditafsirkan sebagai string format tanggal dan waktu standar. Namun, dalam kasus khusus ini, pengecualian ditampilkan karena tidak ada penentu tanggal dan format waktu standar "h".

Untuk menggunakan salah satu penentu format tanggal dan waktu kustom sebagai satu-satunya penentu dalam string format (yaitu, menggunakan "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", atau "/" penentu format khusus dengan sendirinya), sertakan spasi sebelum atau sesudah penentu, atau sertakan penentu format persen ("%") sebelum penentu tanggal dan waktu khusus tunggal.

Misalnya, "%h" ditafsirkan sebagai string format tanggal dan waktu kustom yang menampilkan jam yang diwakili oleh nilai tanggal dan waktu saat ini. Anda juga dapat menggunakan string format " h" atau "h ", meskipun ini menyertakan spasi dalam string hasil bersama dengan jam. Contoh berikut mengilustrasikan ketiga string format ini.

DateTime dat1 = new DateTime(2009, 6, 15, 13, 45, 0);

Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
//       '1'
//       ' 1'
//       '1 '
Dim dat1 As Date = #6/15/2009 1:45PM#

Console.WriteLine("'{0:%h}'", dat1)
Console.WriteLine("'{0: h}'", dat1)
Console.WriteLine("'{0:h }'", dat1)
' The example displays the following output:
'       '1'
'       ' 1'
'       '1 '

Menggunakan karakter Escape

"d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", " z", ":", atau "/" karakter dalam string format ditafsirkan sebagai penentu format khusus daripada sebagai karakter harfiah. Untuk mencegah karakter ditafsirkan sebagai penentu format, Anda dapat mengawalinya dengan garis miring terbalik (\), yang merupakan karakter escape. Karakter escape menandakan bahwa karakter berikut adalah karakter harfiah yang harus dimasukkan dalam string hasil tanpa diubah.

Untuk menyertakan garis miring terbalik dalam string hasil, Anda harus meng-escape-nya dengan garis miring terbaik lain (\\).

Catatan

Beberapa pengompilasi, seperti pengompilasi C ++ dan C #, juga dapat menafsirkan satu karakter garis miring terbalik sebagai karakter escape. Untuk memastikan bahwa string ditafsirkan dengan benar saat memformat, Anda dapat menggunakan karakter harfiah string verbatim (karakter @) sebelum string di C #, atau menambahkan karakter garis miring terbalik lain sebelum setiap garis miring terbalik di C # dan C ++. Contoh C# berikut menggambarkan kedua pendekatan tersebut.

Contoh berikut menggunakan karakter escape untuk mencegah operasi pemformatan menginterpretasikan karakter "h" dan "m" sebagai penentu format.

DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";

Console.WriteLine("{0} ({1}) -> {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -> {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
Dim date1 As Date = #6/15/2009 13:45#
Dim fmt As String = "h \h m \m"

Console.WriteLine("{0} ({1}) -> {2}", date1, fmt, date1.ToString(fmt))
' The example displays the following output:
'       6/15/2009 1:45:00 PM (h \h m \m) -> 1 h 45 m      

Pengaturan Panel Kontrol

Pengaturan Opsi Regional dan Bahasa dalam Panel Kontrol memengaruhi string hasil yang dihasilkan oleh operasi pemformatan yang menyertakan banyak penentu format tanggal dan waktu kustom. 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 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 budaya saat ini atau secara eksplisit oleh parameter IFormatProvider metode yang memanggil pemformatan. Untuk parameter IFormatProvider, Anda harus menentukan objek CultureInfo, yang mewakili budaya, atau objek DateTimeFormatInfo.

String hasil yang dihasilkan oleh banyak penentu format tanggal dan waktu kustom juga bergantung pada properti objek DateTimeFormatInfo saat ini. Aplikasi Anda dapat mengubah hasil yang dihasilkan oleh beberapa penentu format tanggal dan waktu kustom dengan mengubah properti DateTimeFormatInfo yang sesuai. Misalnya, penentu format "ddd" menambahkan nama hari kerja yang disingkat yang ditemukan di array string AbbreviatedDayNames ke string hasil. Demikian pula, penentu format "MMMM" menambahkan nama bulan penuh yang ditemukan dalam array string MonthNames ke string hasil.

Lihat juga