JapaneseCalendar.ToDateTime Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett DateTime som är inställt på angivet datum och tid i den angivna eran.
public:
override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era);
public override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era);
override this.ToDateTime : int * int * int * int * int * int * int * int -> DateTime
Public Overrides Function ToDateTime (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, era As Integer) As DateTime
Parametrar
- year
- Int32
Ett heltal som representerar året.
- month
- Int32
Ett heltal från 1 till 12 som representerar månaden.
- day
- Int32
Ett heltal från 1 till 31 som representerar dagen.
- hour
- Int32
Ett heltal från 0 till 23 som representerar timmen.
- minute
- Int32
Ett heltal från 0 till 59 som representerar minuten.
- second
- Int32
Ett heltal från 0 till 59 som representerar det andra.
- millisecond
- Int32
Ett heltal från 0 till 999 som representerar millisekunderna.
- era
- Int32
Ett heltal som representerar eran.
Returer
Det DateTime som är inställt på det angivna datumet och tiden i den aktuella eran.
Undantag
year ligger utanför det intervall som stöds av kalendern.
-eller-
month ligger utanför det intervall som stöds av kalendern.
-eller-
day ligger utanför det intervall som stöds av kalendern.
-eller-
hour är mindre än noll eller större än 23.
-eller-
minute är mindre än noll eller större än 59.
-eller-
second är mindre än noll eller större än 59.
-eller-
millisecond är mindre än noll eller större än 999.
-eller-
era ligger utanför det intervall som stöds av kalendern.
Exempel
I följande exempel instansieras två datum. Den första är alltid den första dagen i det andra året i den aktuella eran, medan den andra identifierar en viss dag i Taisho-eran. Utdata från exemplet producerades med Heisei-eran som den aktuella eran.
using System;
using System.Globalization;
class Program
{
static void Main()
{
var cal = new JapaneseCalendar();
var jaJp = new CultureInfo("ja-JP");
jaJp.DateTimeFormat.Calendar = cal;
var date1 = cal.ToDateTime(2,1,1,0,0,0,0,JapaneseCalendar.CurrentEra);
Console.WriteLine($"Japanese calendar date: {date1.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date1.ToString("D", CultureInfo.InvariantCulture)}");
var date2 = cal.ToDateTime(6,11,7,0,0,0,0,GetEraIndex("大正"));
Console.WriteLine($"Japanese calendar date: {date2.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date2.ToString("D", CultureInfo.InvariantCulture)}");
int GetEraIndex(string eraName)
{
foreach (var ctr in cal.Eras)
if (jaJp.DateTimeFormat.GetEraName(ctr) == eraName)
return ctr;
return 0;
}
}
}
// The example displays the following output:
// Japanese calendar date: 平成2年1月1日, Gregorian calendar date: Monday, 01 January 1990
// Japanese calendar date: 大正6年11月7日, Gregorian calendar date: Wednesday, 07 November 1917
Imports System.Globalization
Module Program
Dim cal As Calendar
Dim jaJp As CultureInfo
Public Sub Main()
cal = New JapaneseCalendar()
jaJp = New CultureInfo("ja-JP")
jaJp.DateTimeFormat.Calendar = cal
Dim date1 = cal.ToDateTime(2,1,1,0,0,0,0,JapaneseCalendar.CurrentEra)
Console.WriteLine($"Japanese calendar date: {date1.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date1.ToString("D", CultureInfo.InvariantCulture)}")
Dim date2 = cal.ToDateTime(6,11,7,0,0,0,0,GetEraIndex("大正"))
Console.WriteLine($"Japanese calendar date: {date2.ToString("D", jaJp)}, " +
$"Gregorian calendar date: {date2.ToString("D", CultureInfo.InvariantCulture)}")
End Sub
Private Function GetEraIndex(eraName As String) As Integer
For Each ctr in cal.Eras
If jaJp.DateTimeFormat.GetEraName(ctr) = eraName Then Return ctr
Next
Return 0
End Function
End Module
' The example displays the following output:
' Japanese calendar date: 平成2年1月1日, Gregorian calendar date: Monday, 01 January 1990
' Japanese calendar date: 大正6年11月7日, Gregorian calendar date: Wednesday, 07 November 1917
Kommentarer
Metoden ToDateTime är användbar eftersom den kan konvertera valfritt datum i den aktuella kalendern till ett gregorianskt kalenderdatum. Det gregorianska datumet kan senare användas, till exempel för att jämföra datum i olika kalendrar eller skapa ett motsvarande datum i en viss kalender.
Eftersom stöder JapaneseCalendar flera epoker baserat på kejsarens regeringstid bör du alltid anropa den här metoden och uttryckligen ange en era för att undvika ett oavsiktligt datum och för att göra avsikten med din kod tydlig. Exemplet visar hur du instansierar ett datum som alltid är i den aktuella eran och ett som tillhör en angiven era.