DateTimeOffset.Implicit(DateTime to DateTimeOffset) Operátor
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy objektum implicit átalakítását DateTime határozza meg objektummá DateTimeOffset .
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
Paraméterek
- dateTime
- DateTime
Az átalakítandó objektum.
Válaszok
A konvertált objektum.
Kivételek
Az eltolás alkalmazásából eredő utc dátum és idő korábbi, mint a DateTimeOffset.MinValue.
-vagy-
Az eltolás alkalmazásából származó UTC dátum és idő későbbi, mint a DateTimeOffset.MaxValue.
Megjegyzések
A Implicit metódus lehetővé teszi, hogy a fordító automatikusan átalakítson egy DateTime objektumot DateTimeOffset objektummá explicit öntési operátor (C#-ban) vagy konverziós függvény hívása nélkül (Visual Basic). Olyan szélesítő konverziót határoz meg, amely nem jár adatvesztéssel, és nem ad ki OverflowException. A Implicit metódus a következő kódokat teszi lehetővé:
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.
Ez a módszer egyenértékű a konstruktorával DateTimeOffset . Az eredményként kapott DateTimeOffset objektum eltolása a paraméter tulajdonságának DateTime.KinddateTime értékétől függ:
Ha a DateTime.Kind tulajdonság DateTimeKind.Utcértéke, az objektum dátuma és ideje DateTimeOffset egyenlő
dateTime, és Offset a tulajdonság értéke 0.Ha a DateTime.Kind tulajdonság értéke vagy DateTimeKind.Local, az DateTimeKind.Unspecified objektum dátuma és ideje egyenlőDateTimeOffset, és
dateTimea tulajdonság értéke megegyezik a helyi rendszer aktuális időzónájának eltolásávalOffset.
Ennek az operátornak az egyenértékű metódusa a következő: DateTimeOffset.DateTimeOffset(DateTime)