Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

DateTime.ToUniversalTime (Método)

Actualización: noviembre 2007

Convierte el valor del objeto DateTime actual a la hora universal coordinada (UCT).

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public DateTime ToUniversalTime()
public DateTime ToUniversalTime()
public function ToUniversalTime() : DateTime

Valor devuelto

Tipo: System.DateTime
Un objeto DateTime cuya propiedad Kind es Utc y cuyo valor es la hora UTC equivalente al valor del objeto DateTime actual, o MaxValue si el valor convertido es demasiado grande para ser representado por un objeto DateTime, o MinValue si el valor convertido es demasiado pequeño para ser representado por un objeto DateTime.

La hora universal coordinada (UTC) es igual a la hora local menos el desplazamiento de UTC. Para obtener más información sobre el desplazamiento relativo al horario UTC, vea TimeZone.GetUtcOffset. La conversión también tiene en cuenta las reglas del horario de verano que se aplican a la hora representada por el objeto DateTime actual.

kbzkwtza.alert_caution(es-es,VS.90).gifNota importante:

   El método ToUniversalTime solamente reconoce la regla de ajuste actual a la hora de realizar conversiones de hora local a hora UTC. Como consecuencia, puede que las conversiones para períodos anteriores a la entrada en vigor de la regla de ajuste actual no reflejen con precisión la diferencia entre hora local y hora UTC.

A partir de la versión 2.0 de .NET Framework, el valor devuelto por el método ToUniversalTime viene determinado por la propiedad Kind del objeto DateTime actual. En la siguiente tabla se describen los posibles resultados.

Campo Kind

Resultados

Utc

No se lleva a cabo ninguna conversión.

Local

El objeto DateTime actual se convierte a hora UTC.

Unspecified

Se supone que el objeto DateTime actual es una hora local y la conversión se realiza como si Kind fuera Local.

kbzkwtza.alert_note(es-es,VS.90).gifNota:

El método ToUniversalTime convierte un valor de DateTime de hora local a hora UTC. Para convertir la hora de una zona horaria no local a hora UTC, se debe utilizar el método TimeZoneInfo.ConvertTimeToUtc(DateTime, TimeZoneInfo). Para convertir una hora cuyo desplazamiento de UTC se conoce, se debe utilizar el método ToUniversalTime.

Si el valor de la instancia de fecha y hora es una hora ambigua, este método supone que se trata de una hora estándar. (Se dice que una hora es ambigua cuando se puede asignar a una hora estándar o a una hora correspondiente al horario de verano en la zona horaria local). Si el valor de la instancia de fecha y hora corresponde a una hora no válida, este método resta la hora local del desplazamiento de UTC de la zona horaria para devolver la hora UTC. (Se dice que una hora no es válida cuando no existe debido a la aplicación de las reglas de ajuste del horario de verano).

En el ejemplo de código siguiente se muestra el método ToUniversalTime.

			System.Console.WriteLine("Enter a date and time.");
			string strDateTime = System.Console.ReadLine();

			System.DateTime localDateTime;
			try {
				localDateTime = System.DateTime.Parse(strDateTime);
			}
			catch (System.FormatException) {
				System.Console.WriteLine("Invalid format.");
				return;
			}

			System.DateTime univDateTime = localDateTime.ToUniversalTime();

			System.Console.WriteLine("{0} local time is {1} universal time.",
									 localDateTime,
									 univDateTime); 
			
			System.Console.WriteLine("Enter a date and time in universal time.");
			strDateTime = System.Console.ReadLine();

			try {
				univDateTime = System.DateTime.Parse(strDateTime);
			}
			catch (System.FormatException) {
				System.Console.WriteLine("Invalid format.");
				return;
			}

			localDateTime = univDateTime.ToLocalTime();

			System.Console.WriteLine("{0} universal time is {1} local time.",
									 univDateTime,
									 localDateTime); 


System.Console.WriteLine("Enter a date and time.");
String strDateTime = System.Console.ReadLine();

System.DateTime localDateTime;
try {
    localDateTime = System.DateTime.Parse(strDateTime);
}
catch (System.FormatException exp) {
    System.Console.WriteLine("Invalid format.");
    return;
}
System.DateTime univDateTime = localDateTime.ToUniversalTime();
System.Console.WriteLine("{0} local time is {1} universal time.", 
    localDateTime, univDateTime);
System.Console.WriteLine("Enter a date and time in universal time.");
strDateTime = System.Console.ReadLine();
try {
    univDateTime = System.DateTime.Parse(strDateTime);
}
catch (System.FormatException exp) {
    System.Console.WriteLine("Invalid format.");
    return;
}
localDateTime = univDateTime.ToLocalTime();
System.Console.WriteLine("{0} universal time is {1} local time.", 
    univDateTime, localDateTime);


En el siguiente ejemplo de código se utiliza el método SpecifyKind para mostrar cómo la propiedad Kind influye en los métodos de conversión ToLocalTime y ToUniversalTime.

// This code example demonstrates the DateTime Kind, Now, and
// UtcNow properties, and the SpecifyKind(), ToLocalTime(), 
// and ToUniversalTime() methods.

using System;

class Sample 
{
    public static void Main() 
    {
// Get the date and time for the current moment, adjusted 
// to the local time zone.

    DateTime saveNow = DateTime.Now;

// Get the date and time for the current moment expressed 
// as coordinated universal time (UTC).

    DateTime saveUtcNow = DateTime.UtcNow;
    DateTime myDt;

// Display the value and Kind property of the current moment 
// expressed as UTC and local time.

    DisplayNow("UtcNow: ..........", saveUtcNow);
    DisplayNow("Now: .............", saveNow);
    Console.WriteLine();

// Change the Kind property of the current moment to 
// DateTimeKind.Utc and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Utc);
    Display("Utc: .............", myDt);

// Change the Kind property of the current moment to 
// DateTimeKind.Local and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Local);
    Display("Local: ...........", myDt);

// Change the Kind property of the current moment to 
// DateTimeKind.Unspecified and display the result.

    myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Unspecified);
    Display("Unspecified: .....", myDt);
    }

// Display the value and Kind property of a DateTime structure, the 
// DateTime structure converted to local time, and the DateTime 
// structure converted to universal time. 

    public static string datePatt = @"M/d/yyyy hh:mm:ss tt";
    public static void Display(string title, DateTime inputDt)
    {
    DateTime dispDt = inputDt;
    string dtString;

// Display the original DateTime.

    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("{0} {1}, Kind = {2}", 
                      title, dtString, dispDt.Kind);

// Convert inputDt to local time and display the result. 
// If inputDt.Kind is DateTimeKind.Utc, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is 
// performed as if inputDt was universal time.

    dispDt = inputDt.ToLocalTime();
    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("  ToLocalTime:     {0}, Kind = {1}", 
                      dtString, dispDt.Kind);

// Convert inputDt to universal time and display the result. 
// If inputDt.Kind is DateTimeKind.Utc, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is 
// performed as if inputDt was local time.

    dispDt = inputDt.ToUniversalTime();
    dtString = dispDt.ToString(datePatt);
    Console.WriteLine("  ToUniversalTime: {0}, Kind = {1}", 
                      dtString, dispDt.Kind);
    Console.WriteLine();
    }

// Display the value and Kind property for DateTime.Now and DateTime.UtcNow.

    public static void DisplayNow(string title, DateTime inputDt)
    {
    string dtString = inputDt.ToString(datePatt);
    Console.WriteLine("{0} {1}, Kind = {2}", 
                      title, dtString, inputDt.Kind);
    }
}

/*
This code example produces the following results:

UtcNow: .......... 5/6/2005 09:34:42 PM, Kind = Utc
Now: ............. 5/6/2005 02:34:42 PM, Kind = Local

Utc: ............. 5/6/2005 02:34:42 PM, Kind = Utc
  ToLocalTime:     5/6/2005 07:34:42 AM, Kind = Local
  ToUniversalTime: 5/6/2005 02:34:42 PM, Kind = Utc

Local: ........... 5/6/2005 02:34:42 PM, Kind = Local
  ToLocalTime:     5/6/2005 02:34:42 PM, Kind = Local
  ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc

Unspecified: ..... 5/6/2005 02:34:42 PM, Kind = Unspecified
  ToLocalTime:     5/6/2005 07:34:42 AM, Kind = Local
  ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc

*/


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft