DateTimeOffset.Implicit(DateTime to DateTimeOffset) Operator
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.
Definierar en implicit konvertering av ett DateTime objekt till ett DateTimeOffset objekt.
public:
static operator DateTimeOffset(DateTime dateTime);
public static implicit operator DateTimeOffset(DateTime dateTime);
static member op_Implicit : DateTime -> DateTimeOffset
Public Shared Widening Operator CType (dateTime As DateTime) As DateTimeOffset
Parametrar
- dateTime
- DateTime
Objektet som ska konverteras.
Returer
Det konverterade objektet.
Undantag
Datum och tid för koordinerad universell tid (UTC) som resulterar i att förskjutningen tillämpas är tidigare än DateTimeOffset.MinValue.
-eller-
UTC-datum och tid som resultatet av att tillämpa förskjutningen är senare än DateTimeOffset.MaxValue.
Kommentarer
Med metoden Implicit kan kompilatorn automatiskt konvertera ett DateTime-objekt till ett DateTimeOffset-objekt utan en explicit gjutningsoperator (i C#) eller ett anrop till en konverteringsfunktion (i Visual Basic). Den definierar en bredare konvertering som inte innebär dataförlust och inte genererar en OverflowException. Metoden Implicit gör kod som följande möjlig:
DateTimeOffset timeWithOffset;
timeWithOffset = new DateTime(2008, 7, 3, 18, 45, 0);
Console.WriteLine(timeWithOffset.ToString());
timeWithOffset = DateTime.UtcNow;
Console.WriteLine(timeWithOffset.ToString());
timeWithOffset = DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified);
Console.WriteLine(timeWithOffset.ToString());
timeWithOffset = new DateTime(2008, 7, 1, 2, 30, 0) +
new TimeSpan(1, 0, 0, 0);
Console.WriteLine(timeWithOffset.ToString());
timeWithOffset = new DateTime(2008, 1, 1, 2, 30, 0);
Console.WriteLine(timeWithOffset.ToString());
// The example produces the following output if run on 3/20/2007
// at 6:25 PM on a computer in the U.S. Pacific Daylight Time zone:
// 7/3/2008 6:45:00 PM -07:00
// 3/21/2007 1:25:52 AM +00:00
// 3/20/2007 6:25:52 PM -07:00
// 7/2/2008 2:30:00 AM -07:00
// 1/1/2008 2:30:00 AM -08:00
//
// The last example shows automatic adaption to the U.S. Pacific Time
// for winter dates.
let timeWithOffset = DateTime(2008, 7, 3, 18, 45, 0)
printfn $"{timeWithOffset}"
let timeWithOffset = DateTime.UtcNow
printfn $"{timeWithOffset}"
let timeWithOffset =
DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified)
printfn $"{timeWithOffset}"
let timeWithOffset =
DateTime(2008, 7, 1, 2, 30, 0)
+ TimeSpan(1, 0, 0, 0)
printfn $"{timeWithOffset}"
let timeWithOffset = DateTime(2008, 1, 1, 2, 30, 0)
printfn $"{timeWithOffset}"
// The example produces the following output if run on 3/20/2007
// at 6:25 PM on a computer in the U.S. Pacific Daylight Time zone:
// 7/3/2008 6:45:00 PM -07:00
// 3/21/2007 1:25:52 AM +00:00
// 3/20/2007 6:25:52 PM -07:00
// 7/2/2008 2:30:00 AM -07:00
// 1/1/2008 2:30:00 AM -08:00
//
// The last example shows automatic adaption to the U.S. Pacific Time
// for winter dates.
Dim timeWithOffset As DateTimeOffset
timeWithOffset = #07/03/2008 6:45PM#
Console.WriteLine(timeWithOffset.ToString())
timeWithOffset = Date.UtcNow
Console.WriteLine(timeWithOffset.ToString())
timeWithOffset = Date.SpecifyKind(Date.Now, DateTimeKind.Unspecified)
Console.WriteLine(timeWithOffset.ToString())
timeWithOffset = #07/01/2008 2:30AM# + New TimeSpan(1, 0, 0, 0)
Console.WriteLine(timeWithOffset.ToString())
timeWithOffset = #01/01/2008 2:30AM#
Console.WriteLine(timeWithOffset.ToString())
' The example produces the following output if run on 3/20/2007
' at 6:25 PM on a computer in the U.S. Pacific Daylight Time zone:
' 7/3/2008 6:45:00 PM -07:00
' 3/21/2007 1:25:52 AM +00:00
' 3/20/2007 6:25:52 PM -07:00
' 7/2/2008 2:30:00 AM -07:00
' 1/1/2008 2:30:00 AM -08:00
'
' The last example shows automatic adaption to the U.S. Pacific Time
' for winter dates.
Den här metoden motsvarar DateTimeOffset konstruktorn. Förskjutningen av det resulterande DateTimeOffset objektet beror på värdet för DateTime.Kind egenskapen för parametern dateTime :
Om värdet för DateTime.Kind egenskapen är DateTimeKind.Utcanges objektets datum och tid DateTimeOffset lika
dateTimemed och dess Offset egenskap är lika med 0.Om värdet för DateTime.Kind egenskapen är DateTimeKind.Local eller DateTimeKind.Unspecifiedanges objektets datum och tid DateTimeOffset lika
dateTimemed och dess Offset egenskap är lika med förskjutningen för det lokala systemets aktuella tidszon.
Motsvarande metod för den här operatorn är DateTimeOffset.DateTimeOffset(DateTime)