DateTimeOffset.ToString Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara.
Overload
ToString() |
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara. |
ToString(IFormatProvider) |
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan informasi pemformatan khusus budaya yang ditentukan. |
ToString(String) |
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan format yang ditentukan. |
ToString(String, IFormatProvider) |
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan format yang ditentukan dan informasi format khusus budaya. |
ToString()
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Mengembalikan
Representasi string dari objek DateTimeOffset yang menyertakan offset yang ditambahkan di akhir string.
Pengecualian
Tanggal dan waktu berada di luar rentang tanggal yang didukung oleh kalender yang digunakan oleh budaya saat ini.
Contoh
Contoh berikut mengilustrasikan panggilan ke metode ToString() dan menampilkan outputnya pada sistem yang budayanya saat ini en-us.
DateTimeOffset thisDate;
// Show output for UTC time
thisDate = DateTimeOffset.UtcNow;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
thisDate = DateTimeOffset.Now;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0));
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 2:13:50 PM -05:00
// Show output for UTC time
let thisDate = DateTimeOffset.UtcNow
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
let thisDate = DateTimeOffset.Now
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
let thisDate = thisDate.ToOffset(TimeSpan(-5, 0, 0))
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 2:13:50 PM -05:00
Dim thisDate As DateTimeOffset
' Show output for UTC time
thisDate = DateTimeOffset.UtcNow
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 7:13:50 PM +00:00
' Show output for local time
thisDate = DateTimeOffset.Now
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 12:13:50 PM -07:00
' Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0))
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 2:13:50 PM -05:00
Keterangan
Nilai pengembalian metode ini identik dengan metode DateTime.ToString(), kecuali bahwa metode tersebut menyertakan spasi diikuti oleh offset yang ditambahkan di akhir string. Dengan kata lain, ia memformat output menggunakan pola tanggal pendek, pola waktu panjang, dan string format kustom zzz
, dengan setiap elemen dipisahkan dari elemen sebelumnya dengan spasi. Misalnya, jika DateTime.ToString() mengembalikan nilai 1/12/2008 18:15:50, ToString() mengembalikan nilai 1/12/2008 18:15:50 -08:00 untuk waktu yang delapan jam di belakang Waktu Universal Terkoordinasi (UTC).
Metode ini menggunakan informasi pemformatan yang berasal dari budaya saat ini. Untuk informasi selengkapnya, lihat CurrentCulture. Kelebihan metode ToString lainnya memungkinkan Anda menentukan budaya yang pemformatannya digunakan, dan untuk menentukan pola output dari nilai DateTimeOffset.
Catatan Bagi Pemanggil
Metode ToString() mengembalikan representasi string tanggal dan waktu dalam kalender yang digunakan oleh budaya saat ini. Jika nilai instans DateTimeOffset saat ini lebih lama dari MinSupportedDateTime atau lebih baru dari MaxSupportedDateTime, metode akan melemparkan ArgumentOutOfRangeException. Contoh berikut memberikan ilustrasi. Ini mencoba memformat tanggal yang berada di luar rentang kelas HijriCalendar ketika budaya saat ini adalah Arab (Suriah).
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(550, 1, 1),
TimeSpan.Zero);
CultureInfo dft;
CultureInfo arSY = new CultureInfo("ar-SY");
arSY.DateTimeFormat.Calendar = new HijriCalendar();
// Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = arSY;
// Display the date using the current culture's calendar.
try {
Console.WriteLine(date1.ToString());
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
open System
open System.Globalization
open System.Threading
let date1 = DateTimeOffset(DateTime(550, 1, 1), TimeSpan.Zero)
let arSY = CultureInfo "ar-SY"
arSY.DateTimeFormat.Calendar <- HijriCalendar()
// Change current culture to ar-SY.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- arSY
// Display the date using the current culture's calendar.
try
printfn $"{date1}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As New DateTimeOffset(#1/1/550#, TimeSpan.Zero)
Dim dft As CultureInfo
Dim arSY As New CultureInfo("ar-SY")
arSY.DateTimeFormat.Calendar = New HijriCalendar()
' Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = arSY
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString())
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1:d} or later than {2:d}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Berlaku untuk
ToString(IFormatProvider)
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan informasi pemformatan khusus budaya yang ditentukan.
public:
System::String ^ ToString(IFormatProvider ^ formatProvider);
public string ToString (IFormatProvider formatProvider);
public string ToString (IFormatProvider? formatProvider);
override this.ToString : IFormatProvider -> string
Public Function ToString (formatProvider As IFormatProvider) As String
Parameter
- formatProvider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya.
Mengembalikan
Representasi string dari nilai objek DateTimeOffset saat ini, seperti yang ditentukan oleh formatProvider
.
Pengecualian
Tanggal dan waktu berada di luar rentang tanggal yang didukung oleh kalender yang digunakan oleh formatProvider
.
Contoh
Contoh berikut menampilkan objek DateTimeOffset menggunakan objek CultureInfo yang mewakili budaya invarian, serta empat budaya lainnya.
CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
new CultureInfo("en-us"),
new CultureInfo("fr-fr"),
new CultureInfo("de-DE"),
new CultureInfo("es-ES")};
DateTimeOffset thisDate = new DateTimeOffset(2007, 5, 1, 9, 0, 0,
TimeSpan.Zero);
foreach (CultureInfo culture in cultures)
{
string cultureName;
if (string.IsNullOrEmpty(culture.Name))
cultureName = culture.NativeName;
else
cultureName = culture.Name;
Console.WriteLine("In {0}, {1}",
cultureName, thisDate.ToString(culture));
}
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
let cultures =
[| CultureInfo.InvariantCulture
CultureInfo "en-us"
CultureInfo "fr-fr"
CultureInfo "de-DE"
CultureInfo "es-ES" |]
let thisDate = DateTimeOffset(2007, 5, 1, 9, 0, 0, TimeSpan.Zero)
for culture in cultures do
let cultureName =
if String.IsNullOrEmpty culture.Name then
culture.NativeName
else
culture.Name
printfn $"In {cultureName}, {thisDate.ToString culture}"
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
New CultureInfo("en-us"), _
New CultureInfo("fr-fr"), _
New CultureInfo("de-DE"), _
New CultureInfo("es-ES")}
Dim thisDate As New DateTimeOffset(#5/1/2007 9:00AM#, TimeSpan.Zero)
For Each culture As CultureInfo In cultures
Dim cultureName As String
If String.IsNullOrEmpty(culture.Name) Then
cultureName = culture.NativeName
Else
cultureName = culture.Name
End If
Console.WriteLine("In {0}, {1}", _
cultureName, thisDate.ToString(culture))
Next
' The example produces the following output:
' In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
' In en-US, 5/1/2007 9:00:00 AM +00:00
' In fr-FR, 01/05/2007 09:00:00 +00:00
' In de-DE, 01.05.2007 09:00:00 +00:00
' In es-ES, 01/05/2007 9:00:00 +00:00
Keterangan
Nilai pengembalian metode ini identik dengan kelebihan yang setara dari metode DateTime.ToString, kecuali bahwa metode ini menyertakan spasi diikuti oleh offset yang ditambahkan di akhir string. Dengan kata lain, ia memformat output menggunakan pola tanggal pendek, pola waktu panjang, dan string format kustom zzz
, dengan setiap elemen dipisahkan dari elemen sebelumnya dengan spasi.
Format ketiga elemen ini ditentukan oleh parameter formatProvider
. Parameter formatProvider
dapat berupa salah satu dari yang berikut ini:
Objek CultureInfo yang mewakili budaya yang konvensi pemformatannya diterapkan ke string yang dikembalikan. Objek DateTimeFormatInfo yang dikembalikan oleh properti CultureInfo.DateTimeFormat menentukan pemformatan string yang dikembalikan.
Objek DateTimeFormatInfo yang menentukan format data tanggal dan waktu.
Jika formatProvider
null
, objek DateTimeFormatInfo yang terkait dengan budaya saat ini digunakan (lihat CurrentCulture).
Catatan Bagi Pemanggil
Metode ToString(IFormatProvider) mengembalikan representasi string tanggal dan waktu dalam kalender yang digunakan oleh budaya yang diwakili oleh parameter formatProvider
. Kalendernya ditentukan oleh properti Calendar. Jika nilai instans DateTimeOffset saat ini lebih lama dari MinSupportedDateTime atau lebih baru dari MaxSupportedDateTime, metode akan melemparkan ArgumentOutOfRangeException. Contoh berikut memberikan ilustrasi. Ini mencoba memformat tanggal yang berada di luar rentang kelas JapaneseCalendar.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo jaJP = new CultureInfo("ja-JP");
jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1867, 1, 1),
TimeSpan.Zero);
try {
Console.WriteLine(date1.ToString(jaJP));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime,
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
open System
open System.Globalization
let jaJP = CultureInfo "ja-JP"
jaJP.DateTimeFormat.Calendar <- JapaneseCalendar()
let date1 = DateTimeOffset(DateTime(1867, 1, 1), TimeSpan.Zero)
try
printfn $"{date1.ToString jaJP}"
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {jaJP.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
Imports System.Globalization
Module Example
Public Sub Main()
Dim jaJP As New CultureInfo("ja-JP")
jaJP.DateTimeFormat.Calendar = New JapaneseCalendar()
Dim date1 As New DateTimeOffset(#01/01/1867#, TimeSpan.Zero)
Try
Console.WriteLine(date1.ToString(jaJP))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime, _
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
Berlaku untuk
ToString(String)
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan format yang ditentukan.
public:
System::String ^ ToString(System::String ^ format);
public string ToString (string format);
public string ToString (string? format);
override this.ToString : string -> string
Public Function ToString (format As String) As String
Parameter
- format
- String
String format.
Mengembalikan
Representasi string dari nilai objek DateTimeOffset saat ini, seperti yang ditentukan oleh format
.
Pengecualian
Panjang format
adalah satu, dan bukan salah satu karakter penentu format standar yang ditentukan untuk DateTimeFormatInfo.
-atau-
format
tidak berisi pola format kustom yang valid.
Tanggal dan waktu berada di luar rentang tanggal yang didukung oleh kalender yang digunakan oleh budaya saat ini.
Contoh
Contoh berikut menampilkan objek DateTimeOffset ke konsol menggunakan setiap penentu format tanggal dan waktu standar. Output diformat dengan menggunakan budaya en-us.
DateTimeOffset outputDate = new DateTimeOffset(2007, 10, 31, 21, 0, 0,
new TimeSpan(-8, 0, 0));
string specifier;
// Output date using each standard date/time format specifier
specifier = "d";
// Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "D";
// Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "t";
// Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "T";
// Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "f";
// Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "F";
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "g";
// Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "G";
// Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "M"; // 'm' is identical
// Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "R"; // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "s";
// Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "u";
// Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
// Specifier is not supported
specifier = "U";
try
{
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
}
catch (FormatException)
{
Console.WriteLine("{0}: Not supported.", specifier);
}
specifier = "Y"; // 'y' is identical
// Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
let outputDate = DateTimeOffset(2007, 10, 31, 21, 0, 0, TimeSpan(-8, 0, 0))
// Output date using each standard date/time format specifier
let specifier = "d"
// Displays d: 10/31/2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "D"
// Displays D: Wednesday, October 31, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "t"
// Displays t: 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "T"
// Displays T: 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "f"
// Displays f: Wednesday, October 31, 2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "F"
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "g"
// Displays g: 10/31/2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "G"
// Displays G: 10/31/2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "M" // 'm' is identical
// Displays M: October 31
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "R" // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "s"
// Displays s: 2007-10-31T21:00:00
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "u"
// Displays u: 2007-11-01 05:00:00Z
printfn $"{specifier}: {outputDate.ToString specifier}"
// Specifier is not supported
let specifier = "U"
try
printfn $"{specifier}: {outputDate.ToString specifier}"
with :? FormatException ->
printfn $"{specifier}: Not supported."
let specifier = "Y" // 'y' is identical
// Displays Y: October, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
Dim outputDate As New DateTimeOffset(#10/31/2007 9:00PM#, _
New TimeSpan(-8, 0, 0))
Dim specifier As String
' Output date using each standard date/time format specifier
specifier = "d"
' Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "D"
' Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "t"
' Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "T"
' Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "f"
' Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "F"
' Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "g"
' Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "G"
' Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "M" ' 'm' is identical
' Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "R" ' 'r' is identical
' Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "s"
' Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "u"
' Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
' Specifier is not supported
specifier = "U"
Try
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
Catch e As FormatException
Console.WriteLine("{0}: Not supported.", specifier)
End Try
specifier = "Y" ' 'y' is identical
' Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
Keterangan
Parameter format
harus berisi karakter penentu format tunggal (lihat String Format Tanggal dan Waktu Standar) atau pola format kustom (lihat String Format Tanggal dan Waktu Kustom) yang menentukan format string yang dikembalikan. Jika format
adalah string null atau kosong (""), nilai DateTimeOffset adalah output menggunakan format default.
Tabel berikut menunjukkan operasi yang tepat dari penentu format tertentu saat digunakan dengan DateTimeOffset, yang berbeda dari perilakunya saat digunakan dengan DateTime.
Penentu format yang ada | Perilaku baru |
---|---|
"K" | Dirancang untuk pulang pergi tanggal dan waktu. Dengan DateTimeOffset, peta ke "zzz" (offset selalu ditampilkan dengan jam dan menit). Perhatikan bahwa "K" adalah penentu format kustom; tidak dapat muncul sebagai karakter tunggal dalam format . |
"U" | Tidak didukung. |
"r" | Mengonversi objek DateTimeOffset menjadi Waktu Universal Terkoordinasi (UTC) dan mengeluarkannya menggunakan string format kustom ddd, dd MMM yyyy HH:mm:ss GMT . |
"u" | Mengonversi objek DateTimeOffset ke UTC dan mengeluarkannya menggunakan format yyyy-MM-dd HH:mm:ssZ . |
Penentu format tanggal dan waktu standar yang tersisa berperilaku sama dengan metode ToString(String) seperti yang mereka lakukan dengan metode ToString.
Metode ini menggunakan informasi pemformatan yang berasal dari budaya saat ini. Untuk informasi selengkapnya, lihat CurrentCulture.
Catatan Bagi Pemanggil
Metode ToString(String) mengembalikan representasi string tanggal dan waktu dalam kalender yang digunakan oleh budaya saat ini. Jika nilai instans DateTimeOffset saat ini lebih lama dari MinSupportedDateTime atau lebih baru dari MaxSupportedDateTime, metode akan melemparkan ArgumentOutOfRangeException. Contoh berikut memberikan ilustrasi. Ini mencoba memformat tanggal yang berada di luar rentang kelas HebrewCalendar ketika budaya saat ini adalah Ibrani (Israel).
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1550, 7, 21),
TimeSpan.Zero);
CultureInfo dft;
CultureInfo heIL = new CultureInfo("he-IL");
heIL.DateTimeFormat.Calendar = new HebrewCalendar();
// Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = heIL;
// Display the date using the current culture's calendar.
try {
Console.WriteLine(date1.ToString("G"));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
open System
open System.Globalization
open System.Threading
let date1 = DateTimeOffset(DateTime(1550, 7, 21), TimeSpan.Zero)
let heIL = CultureInfo "he-IL"
heIL.DateTimeFormat.Calendar <- HebrewCalendar()
// Change current culture to he-IL.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- heIL
// Display the date using the current culture's calendar.
try
printfn $"{date1:G}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As New DateTimeOffset(#7/21/1550#, TimeSpan.Zero)
Dim dft As CultureInfo
Dim heIL As New CultureInfo("he-IL")
heIL.DateTimeFormat.Calendar = New HebrewCalendar()
' Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = heIL
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString("G"))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1} or later than {2}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Lihat juga
Berlaku untuk
ToString(String, IFormatProvider)
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
- Sumber:
- DateTimeOffset.cs
Mengonversi nilai objek DateTimeOffset saat ini ke representasi string yang setara menggunakan format yang ditentukan dan informasi format khusus budaya.
public:
virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ formatProvider);
public string ToString (string format, IFormatProvider formatProvider);
public string ToString (string? format, IFormatProvider? formatProvider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, formatProvider As IFormatProvider) As String
Parameter
- format
- String
String format.
- formatProvider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya.
Mengembalikan
Representasi string dari nilai objek DateTimeOffset saat ini, seperti yang ditentukan oleh format
dan formatProvider
.
Penerapan
Pengecualian
Panjang format
adalah satu, dan bukan salah satu karakter penentu format standar yang ditentukan untuk DateTimeFormatInfo.
-atau-
format
tidak berisi pola format kustom yang valid.
Tanggal dan waktu berada di luar rentang tanggal yang didukung oleh kalender yang digunakan oleh formatProvider
.
Contoh
Contoh berikut menggunakan metode ToString(String, IFormatProvider) untuk menampilkan objek DateTimeOffset menggunakan string format kustom untuk beberapa budaya yang berbeda.
DateTimeOffset outputDate = new DateTimeOffset(2007, 11, 1, 9, 0, 0,
new TimeSpan(-7, 0, 0));
string format = "dddd, MMM dd yyyy HH:mm:ss zzz";
// Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, null as DateTimeFormatInfo));
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("fr-FR")));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("es-ES")));
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
let outputDate = DateTimeOffset(2007, 11, 1, 9, 0, 0, TimeSpan(-7, 0, 0))
let format = "dddd, MMM dd yyyy HH:mm:ss zzz"
// Output date and time using custom format specification
printfn $"{outputDate.ToString(format, null)}"
printfn $"{outputDate.ToString(format, CultureInfo.InvariantCulture)}"
printfn $"""{outputDate.ToString(format, CultureInfo "fr-FR")}"""
printfn $"""{outputDate.ToString(format, CultureInfo "es-ES")}"""
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
Dim outputDate As New DateTimeOffset(#11/1/2007 9:00AM#, _
New TimeSpan(-7, 0, 0))
Dim format As String = "dddd, MMM dd yyyy HH:mm:ss zzz"
' Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, Nothing))
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("fr-FR")))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("es-ES")))
' The example displays the following output to the console:
' Thursday, Nov 01 2007 09:00:00 -07:00
' Thursday, Nov 01 2007 09:00:00 -07:00
' jeudi, nov. 01 2007 09:00:00 -07:00
' jueves, nov 01 2007 09:00:00 -07:00
Keterangan
Parameter format
harus berisi karakter penentu format tunggal (lihat String Format Tanggal dan Waktu Standar) atau pola format kustom (lihat String Format Tanggal dan Waktu Kustom). Jika format
adalah string null atau kosong (""), objek DateTimeOffset adalah output menggunakan format default.
Tabel berikut menunjukkan operasi yang tepat dari penentu format tertentu saat digunakan dengan DateTimeOffset, yang berbeda dari perilakunya saat digunakan dengan DateTime.
Penentu format yang ada | Perilaku baru |
---|---|
"K" | Dirancang untuk pulang pergi tanggal dan waktu. Dengan DateTimeOffset, peta ke "zzz" (offset selalu ditampilkan dengan jam dan menit). Perhatikan bahwa "K" adalah penentu format kustom; tidak dapat muncul sebagai karakter tunggal dalam format . |
"U" | Tidak didukung. |
"r" | Mengonversi objek DateTimeOffset menjadi Waktu Universal Terkoordinasi (UTC) dan mengeluarkannya menggunakan string format kustom ddd, dd MMM yyyy HH:mm:ss GMT . |
"u" | Mengonversi nilai DateTimeOffset menjadi UTC dan mengeluarkannya menggunakan format yyyy-MM-dd HH:mm:ssZ . |
Penentu format tanggal dan waktu standar yang tersisa berperilaku sama dengan metode ToString(String) seperti yang mereka lakukan dengan metode ToString.
Pola yang sesuai dengan penentu format standar, serta simbol dan nama komponen tanggal dan waktu, didefinisikan oleh parameter formatProvider
. Parameter formatProvider
dapat berupa salah satu dari yang berikut ini:
Objek CultureInfo yang mewakili budaya yang pemformatannya digunakan dalam
input
. Objek DateTimeFormatInfo yang dikembalikan oleh properti CultureInfo.DateTimeFormat menentukan pemformatan yang digunakan dalaminput
.Objek DateTimeFormatInfo yang menentukan format data tanggal dan waktu.
Jika formatProvider
null
, objek DateTimeFormatInfo yang terkait dengan budaya saat ini digunakan (lihat CurrentCulture).
Catatan Bagi Pemanggil
Metode ToString(String, IFormatProvider) mengembalikan representasi string tanggal dan waktu dalam kalender yang digunakan oleh parameter formatProvider
. Kalendernya ditentukan oleh properti Calendar. Jika nilai instans DateTimeOffset saat ini lebih lama dari MinSupportedDateTime atau lebih baru dari MaxSupportedDateTime, metode akan melemparkan ArgumentOutOfRangeException. Contoh berikut memberikan ilustrasi. Ini mencoba memformat tanggal yang berada di luar rentang kelas UmAlQuraCalendar.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo arSA = new CultureInfo("ar-SA");
arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1890, 9, 10),
TimeSpan.Zero);
try {
Console.WriteLine(date1.ToString("d", arSA));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
arSA.DateTimeFormat.Calendar.MinSupportedDateTime,
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
open System
open System.Globalization
let arSA = CultureInfo "ar-SA"
arSA.DateTimeFormat.Calendar <- UmAlQuraCalendar()
let date1 = DateTimeOffset(DateTime(1890, 9, 10), TimeSpan.Zero)
try
printfn $"""{date1.ToString("d", arSA)}"""
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {arSA.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {arSA.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 11/16/2077
Imports System.Globalization
Module Example
Public Sub Main()
Dim arSA As New CultureInfo("ar-SA")
arSA.DateTimeFormat.Calendar = New UmAlQuraCalendar()
Dim date1 As New DateTimeOffset(#09/10/1890#, TimeSpan.Zero)
Try
Console.WriteLine(date1.ToString("d", arSA))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
arSA.DateTimeFormat.Calendar.MinSupportedDateTime, _
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
Lihat juga
- String Format Tanggal dan Waktu Standar
- String Format Tanggal dan Waktu Kustom
- Sampel : Utilitas Pemformatan .NET Core WinForms (C#)
- Sampel : Utilitas Pemformatan .NET Core WinForms (Visual Basic)