TimeZone.ToUniversalTime 方法
返回对应于指定本地时间的协调通用时间 (UTC)。
**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Overridable Function ToUniversalTime ( _
time As DateTime _
) As DateTime
用法
Dim instance As TimeZone
Dim time As DateTime
Dim returnValue As DateTime
returnValue = instance.ToUniversalTime(time)
public virtual DateTime ToUniversalTime (
DateTime time
)
public:
virtual DateTime ToUniversalTime (
DateTime time
)
public DateTime ToUniversalTime (
DateTime time
)
public function ToUniversalTime (
time : DateTime
) : DateTime
参数
- time
本地日期和时间。
返回值
一个 DateTime 实例,其值为对应于 time 的 UTC 时间。
备注
协调通用时间 (UTC) 以前称为格林尼治标准时间 (GMT)。本地时间为所使用计算机上的日期和时间。偏移量为本地时间与 UTC 之间的差异。即:
UTC = 本地时间 - 偏移量
示例
下面的代码示例使用 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
// 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
*/
// Example of the TimeZone::IsDaylightSavingTime( DateTime ),
// TimeZone::IsDaylightSavingTime( DateTime, DaylightTime ), and
// TimeZone::ToUniversalTime( DateTime ) methods.
using namespace System;
using namespace System::Globalization;
int main()
{
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 = 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
*/
// Example of the TimeZone.IsDaylightSavingTime( DateTime ),
// TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
// TimeZone.ToUniversalTime( DateTime ) methods.
import System.*;
import System.Globalization.*;
class DaylightTimeDemo
{
public static void main(String[] args)
{
final String headFmt = "{0,-22}{1,-10}{2,-10}{3,-10}{4}";
// Get the local time zone and a base local time.
TimeZone localZone = TimeZone.get_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.get_StandardName());
Console.WriteLine(headFmt, new Object[] {
"Local Date and Time", "2001 DST?", "2002 DST?", "Any DST?",
"Corresponding UTC" });
Console.WriteLine(headFmt, new Object[] { "-------------------",
"---------", "---------", "--------", "-----------------" });
// 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}", new Object[]
{ localTime, (System.Boolean)TimeZone.IsDaylightSavingTime(
localTime, daylight2001), (System.Boolean)
TimeZone.IsDaylightSavingTime(localTime, daylight2002),
(System.Boolean)localZone.IsDaylightSavingTime
(localTime), utcTime });
// Advance to another local time.
localTime = localTime.AddDays(109.1);
}
} //main
} //DaylightTimeDemo
/*
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
*/
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0