Remplissage d'une liste de fuseau horaire

Si vous devez fournir une liste de fuseaux horaires dans votre interface de gestion d'abonnement afin que les abonnés puissent sélectionner des fuseaux horaires valides, utilisez les classes TimeZone et TimeZoneEnumeration. Les exemples ci-dessous montrent comment afficher la liste des fuseaux horaires pour une langue à l'aide de code managé et de Microsoft Visual Basic Scripting Edition (VBScript) pour illustrer COM Interop.

Exemple de code managé

L'exemple de code suivant montre comment utiliser un objet TimeZoneEnumeration en code managé pour afficher la liste des noms des fuseaux horaires pour l'environnement culturel actuel de l'ordinateur client :

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);
}

Exemple COM Interop

L'exemple de code suivant montre comment utiliser un objet TimeZoneEnumeration en code non managé pour afficher la liste des identificateurs de fuseau horaire compris entre 2 et 40 qui correspondent aux paramètres régionaux « 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

Voir aussi

Concepts

Création d'un objet d'abonnement
Ajout d'un abonnement
Mise à jour d'un abonnement
Suppression d'un abonnement
Obtention d'informations sur le champ d'abonnement
Remplissage d'une liste de paramètres régionaux d'abonnés

Autres ressources

Vue NS<SubscriptionClassName>

Aide et Informations

Assistance sur SQL Server 2005