DateTimeOffset.Implicit(DateTime to DateTimeOffset) Operator
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DateTime オブジェクトから 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
パラメーター
- dateTime
- DateTime
変換対象のオブジェクト。
戻り値
変換後のオブジェクト。
例外
オフセットを適用した結果の協定世界時 (UTC) の日付と時刻は、 DateTimeOffset.MinValue より前です。
\- または -
オフセットを適用した結果の UTC 日時は、 DateTimeOffset.MaxValue より後です。
注釈
メソッドを使用すると、コンパイラは Implicit 、明示的なキャスト演算子 (C#では) または変換 DateTime 関数の呼び出し (Visual Basic では) を使用せずに、オブジェクト DateTimeOffset をオブジェクトに自動的に変換できます。 これは、データ損失を伴わない拡大変換を定義し、 を OverflowExceptionスローしません。 メソッドを Implicit 使用すると、次のようなコードが可能になります。
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.
このメソッドは、コンストラクターと DateTimeOffset 同じです。 結果DateTimeOffsetのオブジェクトのオフセットは、 パラメーターの プロパティdateTime
のDateTime.Kind値によって異なります。
プロパティの DateTime.Kind 値が の場合、 DateTimeKind.Utcオブジェクトの DateTimeOffset 日付と時刻は に
dateTime
設定され、その Offset プロパティは 0 に設定されます。プロパティのDateTime.Kind値が または DateTimeKind.Unspecifiedの場合、DateTimeKind.LocalオブジェクトのDateTimeOffset日時は に
dateTime
等しく設定され、そのOffsetプロパティはローカル システムの現在のタイム ゾーンのオフセットと等しく設定されます。
この演算子の同等のメソッドは 次のようになります。 DateTimeOffset.DateTimeOffset(DateTime)
適用対象
.NET