TimeZone.ToUniversalTime メソッド
指定した現地時間に対応する世界協定時刻 (UTC: Coordinated Universal Time) を返します。
Public Overridable Function ToUniversalTime( _
ByVal time As DateTime _) As DateTime
[C#]
public virtual DateTime ToUniversalTime(DateTimetime);
[C++]
public: virtual DateTime ToUniversalTime(DateTimetime);
[JScript]
public function ToUniversalTime(
time : DateTime) : DateTime;
パラメータ
- time
現地の日付と時刻。
戻り値
time に対応する UTC 時間の値を持つ DateTime インスタンス。
解説
世界協定時刻 (UTC: Coordinated Universal Time) は、以前はグリニッジ標準時 (GMT: Greenwich Mean Time) と呼ばれていました。現地時間は、使用しているコンピュータの日付と時刻になります。オフセットとは、現地時間と UTC 間の時差です。つまり、次の式で求められます。
UTC = 現地時間 - オフセット
使用例
[Visual Basic, C#, C++] ToUniversalTime メソッドを使用して、選択した現地時間に対応する UTC 時間を返すコード例を次に示します。
' Example of the TimeZone.IsDaylightSavingTime( DateTime ),
' TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
' TimeZone.ToUniversalTime( DateTime ) methods.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic
Module DaylightTimeDemo
Sub Main( )
Const headFmt As String = "{0,-22}{1,-10}{2,-10}{3,-10}{4}"
' Get the local time zone and a base local time.
Dim localZone As TimeZone = TimeZone.CurrentTimeZone
Dim localTime As DateTime = new DateTime( 2001, 1, 1 )
Console.WriteLine( "This example of " & vbCrLf & _
" TimeZone.IsDaylightSavingTime( DateTime ), " & _
vbCrLf & " TimeZone.IsDaylightSavingTime( " & _
"DateTime, DaylightTime ), and " & vbCrLf & _
" TimeZone.ToUniversalTime( DateTime )" & vbCrLf & _
"generates the following output, which varies " & _
"depending on the " & vbCrLf & "time zone in which " & _
"it is run." & vbCrLf )
Console.WriteLine( "The example creates " & _
"several local times and the corresponding " & vbCrLf & _
"Coordinated Universal Times (UTC) and shows if " & _
"they occur in " & vbCrLf & "daylight saving time " & _
"(DST), both for specified years and for " & vbCrLf & _
"any year." & vbCrLf )
Console.WriteLine( "Local time: {0}" & vbCrLf, _
localZone.StandardName )
Console.WriteLine( headFmt, "Local Date and Time", _
"2001 DST?", "2002 DST?", "Any DST?", "Corresponding UTC" )
Console.WriteLine( headFmt, "-------------------", _
"---------", "---------", "--------", "-----------------" )
' Create DaylightTime objects for specific years.
Dim daylight2001 As DaylightTime = _
localZone.GetDaylightChanges( 2001 )
Dim daylight2002 As DaylightTime = _
localZone.GetDaylightChanges( 2002 )
' Generate several local times.
Dim loopX As Integer
For loopX = 0 to 10
' Calculate the corresponding UTC.
Dim utcTime As DateTime = _
localZone.ToUniversalTime( localTime )
' Show if dates and times occur in daylight saving
' time, for specified years and for any year.
Console.WriteLine( "{0,-22:yyyy-MM-dd HH:mm}" & _
"{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}", _
localTime, _
TimeZone.IsDaylightSavingTime( _
localTime, daylight2001 ), _
TimeZone.IsDaylightSavingTime( _
localTime, daylight2002 ), _
localZone.IsDaylightSavingTime( localTime ), _
utcTime )
' Advance to another local time.
localTime = localTime.AddDays( 109.1 )
Next loopX
End Sub
End Module
' This example of
' TimeZone.IsDaylightSavingTime( DateTime ),
' TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
' TimeZone.ToUniversalTime( DateTime )
' generates the following output, which varies depending on the
' time zone in which it is run.
'
' The example creates several local times and the corresponding
' Coordinated Universal Times (UTC) and shows if they occur in
' daylight saving time (DST), both for specified years and for
' any year.
'
' Local time: Pacific Standard Time
'
' Local Date and Time 2001 DST? 2002 DST? Any DST? Corresponding UTC
' ------------------- --------- --------- -------- -----------------
' 2001-01-01 00:00 False False False 2001-01-01 08:00
' 2001-04-20 02:24 True False True 2001-04-20 09:24
' 2001-08-07 04:48 True False True 2001-08-07 11:48
' 2001-11-24 07:12 False False False 2001-11-24 15:12
' 2002-03-13 09:36 False False False 2002-03-13 17:36
' 2002-06-30 12:00 False True True 2002-06-30 19:00
' 2002-10-17 14:24 False True True 2002-10-17 21:24
' 2003-02-03 16:48 False False False 2003-02-04 00:48
' 2003-05-23 19:12 False False True 2003-05-24 02:12
' 2003-09-09 21:36 False False True 2003-09-10 04:36
' 2003-12-28 00:00 False False False 2003-12-28 08:00
[C#]
// Example of the TimeZone.IsDaylightSavingTime( DateTime ),
// TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
// TimeZone.ToUniversalTime( DateTime ) methods.
using System;
using System.Globalization;
class DaylightTimeDemo
{
static void Main( )
{
const string headFmt = "{0,-22}{1,-10}{2,-10}{3,-10}{4}";
// Get the local time zone and a base local time.
TimeZone localZone = TimeZone.CurrentTimeZone;
DateTime localTime = new DateTime( 2001, 1, 1 );
Console.WriteLine( "This example of \n" +
" TimeZone.IsDaylightSavingTime( DateTime ), \n" +
" TimeZone.IsDaylightSavingTime( " +
"DateTime, DaylightTime ), and \n" +
" TimeZone.ToUniversalTime( DateTime )\n" +
"generates the following output, which varies " +
"depending on the \ntime zone in which it is run.\n" );
Console.WriteLine( "The example creates several local " +
"times and the corresponding \nCoordinated Universal " +
"Times (UTC) and shows if they occur in \ndaylight " +
"saving time (DST), both for specified years " +
"and for \nany year.\n" );
Console.WriteLine( "Local time: {0}\n",
localZone.StandardName );
Console.WriteLine( headFmt, "Local Date and Time", "2001 DST?",
"2002 DST?", "Any DST?", "Corresponding UTC" );
Console.WriteLine( headFmt, "-------------------", "---------",
"---------", "--------", "-----------------" );
// Create DaylightTime objects for specific years.
DaylightTime daylight2001 =
localZone.GetDaylightChanges( 2001 );
DaylightTime daylight2002 =
localZone.GetDaylightChanges( 2002 );
// Generate several local times.
for( int loopX = 0; loopX <= 10; loopX++ )
{
// Calculate the corresponding UTC.
DateTime utcTime =
localZone.ToUniversalTime( localTime );
// Show if dates and times occur in daylight saving
// time, for specified years and for any year.
Console.WriteLine( "{0,-22:yyyy-MM-dd HH:mm}" +
"{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}",
localTime,
TimeZone.IsDaylightSavingTime(
localTime, daylight2001 ),
TimeZone.IsDaylightSavingTime(
localTime, daylight2002 ),
localZone.IsDaylightSavingTime( localTime ),
utcTime );
// Advance to another local time.
localTime = localTime.AddDays( 109.1 );
}
}
}
/*
This example of
TimeZone.IsDaylightSavingTime( DateTime ),
TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
TimeZone.ToUniversalTime( DateTime )
generates the following output, which varies depending on the
time zone in which it is run.
The example creates several local times and the corresponding
Coordinated Universal Times (UTC) and shows if they occur in
daylight saving time (DST), both for specified years and for
any year.
Local time: Pacific Standard Time
Local Date and Time 2001 DST? 2002 DST? Any DST? Corresponding UTC
------------------- --------- --------- -------- -----------------
2001-01-01 00:00 False False False 2001-01-01 08:00
2001-04-20 02:24 True False True 2001-04-20 09:24
2001-08-07 04:48 True False True 2001-08-07 11:48
2001-11-24 07:12 False False False 2001-11-24 15:12
2002-03-13 09:36 False False False 2002-03-13 17:36
2002-06-30 12:00 False True True 2002-06-30 19:00
2002-10-17 14:24 False True True 2002-10-17 21:24
2003-02-03 16:48 False False False 2003-02-04 00:48
2003-05-23 19:12 False False True 2003-05-24 02:12
2003-09-09 21:36 False False True 2003-09-10 04:36
2003-12-28 00:00 False False False 2003-12-28 08:00
*/
[C++]
// Example of the TimeZone::IsDaylightSavingTime( DateTime ),
// TimeZone::IsDaylightSavingTime( DateTime, DaylightTime ), and
// TimeZone::ToUniversalTime( DateTime ) methods.
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
void main( )
{
String* headFmt = S"{0,-22}{1,-10}{2,-10}{3,-10}{4}";
// Get the local time zone and a base local time.
TimeZone* localZone = TimeZone::CurrentTimeZone;
DateTime localTime = DateTime( 2001, 1, 1 );
Console::WriteLine( S"This example of \n"
S" TimeZone::IsDaylightSavingTime( DateTime ), \n"
S" TimeZone::IsDaylightSavingTime( "
S"DateTime, DaylightTime* ), and \n"
S" TimeZone::ToUniversalTime( DateTime )\n"
S"generates the following output, which varies "
S"depending on the \ntime zone in which it is run.\n" );
Console::WriteLine( S"The example creates several local "
S"times and the corresponding \nCoordinated Universal "
S"Times (UTC) and shows if they occur in \ndaylight "
S"saving time (DST), both for specified years "
S"and for \nany year.\n" );
Console::WriteLine( S"Local time: {0}\n",
localZone->StandardName );
Console::WriteLine( headFmt, S"Local Date and Time", S"2001 DST?",
S"2002 DST?", S"Any DST?", S"Corresponding UTC" );
Console::WriteLine( headFmt, S"-------------------", S"---------",
S"---------", S"--------", S"-----------------" );
// Create DaylightTime objects for specific years.
DaylightTime* daylight2001 =
localZone->GetDaylightChanges( 2001 );
DaylightTime* daylight2002 =
localZone->GetDaylightChanges( 2002 );
// Generate several local times.
for( int loopX = 0; loopX <= 10; loopX++ )
{
// Calculate the corresponding UTC.
DateTime utcTime =
localZone->ToUniversalTime( localTime );
// Show if dates and times occur in daylight saving
// time, for specified years and for any year.
Console::WriteLine( S"{0,-22:yyyy-MM-dd HH:mm}"
S"{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}",
__box( localTime ),
__box( TimeZone::IsDaylightSavingTime(
localTime, daylight2001 ) ),
__box( TimeZone::IsDaylightSavingTime(
localTime, daylight2002 ) ),
__box( localZone->IsDaylightSavingTime( localTime ) ),
__box( utcTime ) );
// Advance to another local time.
localTime = localTime.AddDays( 109.1 );
}
}
/*
This example of
TimeZone::IsDaylightSavingTime( DateTime ),
TimeZone::IsDaylightSavingTime( DateTime, DaylightTime* ), and
TimeZone::ToUniversalTime( DateTime )
generates the following output, which varies depending on the
time zone in which it is run.
The example creates several local times and the corresponding
Coordinated Universal Times (UTC) and shows if they occur in
daylight saving time (DST), both for specified years and for
any year.
Local time: Pacific Standard Time
Local Date and Time 2001 DST? 2002 DST? Any DST? Corresponding UTC
------------------- --------- --------- -------- -----------------
2001-01-01 00:00 False False False 2001-01-01 08:00
2001-04-20 02:24 True False True 2001-04-20 09:24
2001-08-07 04:48 True False True 2001-08-07 11:48
2001-11-24 07:12 False False False 2001-11-24 15:12
2002-03-13 09:36 False False False 2002-03-13 17:36
2002-06-30 12:00 False True True 2002-06-30 19:00
2002-10-17 14:24 False True True 2002-10-17 21:24
2003-02-03 16:48 False False False 2003-02-04 00:48
2003-05-23 19:12 False False True 2003-05-24 02:12
2003-09-09 21:36 False False True 2003-09-10 04:36
2003-12-28 00:00 False False False 2003-12-28 08:00
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
TimeZone クラス | TimeZone メンバ | System 名前空間 | ToLocalTime | GetUtcOffset