Share via


Llenar una lista de zona horaria

Si necesita proporcionar una lista de zonas horarias en su interfaz de administración de suscripciones para que los suscriptores puedan seleccionar zonas horarias válidas, utilice las clases TimeZone y TimeZoneEnumeration. Los siguientes ejemplos muestran cómo enumerar las zonas horarias para un idioma utilizando código administrado y Microsoft Visual Basic Scripting Edition (VBScript) para ilustrar interoperabilidad COM.

Ejemplo de código administrado

El siguiente ejemplo de código muestra cómo utilizar un objeto TimeZoneEnumeration en código administrado para enumerar los nombres de las zonas horarias para la configuración cultural actual del equipo cliente:

string instanceName = "Tutorial";

// Create the NSInstance object.
NSInstance testInstance = new NSInstance(instanceName);

// Create the TimeZoneEnumeration.
TimeZoneEnumeration testTimeZoneEnumeration =
    new TimeZoneEnumeration(testInstance,
    System.Globalization.CultureInfo.CurrentUICulture.Parent.Name);

// Step through the enumeration, populating
// the drop-down list as you go. Note that the TimeZone
// reference must include the namespace, because there is
// an identically named class in the System namespace.
foreach(Microsoft.SqlServer.NotificationServices.TimeZone
thisTimeZone in testTimeZoneEnumeration)
{
    Console.WriteLine(thisTimeZone.TimeZoneName);
}

Ejemplo de interoperabilidad COM

El siguiente ejemplo de código muestra cómo utilizar un objeto TimeZoneEnumeration en código no administrado para mostrar identificadores de zonas horarias para las zonas horarias con un identificador entre 2 y 40 que coincide con la configuración regional "en":

Dim testInstance, testTimeZoneEnumeration, timeZones
const instanceName = "Tutorial"

' Create the NSInstance object.
set testInstance = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName

' Create the TimeZoneEnumeration object.
set testTimeZoneEnumeration = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.timeZoneEnumeration")
testTimeZoneEnumeration.Initialize (testInstance), "en" 

' Print the valid time zone IDs between 2 and 40
for each thisTimeZone in testTimeZoneEnumeration
    if thisTimeZone.TimeZoneId >=2 _
        and thisTimeZone.TimeZoneId <=40 then
        timeZones = timeZones & thisTimeZone.TimeZoneId & ", "
    end if
next
WScript.echo timeZones

Vea también

Conceptos

Crear un objeto de suscripción
Agregar una suscripción
Actualizar una suscripción
Eliminar una suscripción
Obtener información de campos de suscripción
Llenar una lista de configuraciones regionales de suscriptor

Otros recursos

NS<nombreDeClaseDeSuscripción>View (vista)

Ayuda e información

Obtener ayuda sobre SQL Server 2005