À l'aide de SQL Server datetimeoffset
Je suis en train de stocker la date, l'heure et le fuseau horaire de la rencontre, qui s'inscrit dans un outil. - Je permettre à l'utilisateur de spécifier la date et l'heure, ainsi que de sélectionner à partir d'un fuseau horaire liste.
Mon problème est d'essayer de comprendre comment prendre tous les 3 parties et mettez-le dans une bonne datetimeoffset
à stocker.
Je crois que c'est le format utilisé par SQL Server besoins pour datetimeoffset
:
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|- }hh:mm]
Ma première question c'est quelles devraient être les valeurs de mon fuseau horaire déroulant?
Deuxièmement, est-il intégré dans la façon de SQL Server pour passer cette chaîne de données et les convertir dans le format requis pour datetimeoffset
?
sqlfiddle.com/#!3/2a110d/2
Génial, donc maintenant j'ai juste besoin de comprendre comment générer une liste de fuseaux horaires avec leur valeur de décalage; merci!
DateTimeOffset inclut uniquement le décalage, pas le fuseau horaire. Tout le monde à l'exception de Windows (OS) utilise le
tzData
base de données. Vérifier Jon Skeet est NodaTime bibliothèque qui gère à la fois les fuseaux horaires, les décalages et comprend tzdataC'est ce que je voulais dire, je vais vous présenter une liste de fuseaux horaires pour l'utilisateur, mais la valeur de l'offset qui sera utilisé en combinaison de date & temps pour fournir le
datetimeoffset
, correct?OriginalL'auteur SBB | 2015-01-09
Vous devez vous connecter pour publier un commentaire.
Si votre outil peut convertir de temps à chaîne, de le convertir au format que vous avez inclus. Le
[.nnnn]
partie est de nanosecondes. Je n'ai pas vu une application ayant besoin de ce niveau de précision. Si vous êtes OK avec le deuxième niveau de précision,datetimeoffset(0)
est assez.Exemple:
OriginalL'auteur
Oui, DateTimeOffset est exactement ce que vous voulez.
Deuxièmement, votre liste de sélection disponibles pour les compensations devraient provenir de la liste d'ISO (http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
SQL Server n'a pas de soins si le décalage horaire existe dans le monde réel ou pas, il a juste besoin d'être valide. Voici quelques échantillons:
OriginalL'auteur jhilden