IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Conversion heure UTC en heure locale avec horaires été hiver [2008]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut Conversion heure UTC en heure locale avec horaires été hiver
    Bonsoir.
    Après une migration logicielle, je dois interfacer une base de données d'évènements sous SQL server et une base de données Access contenant les commentaires liés à l'acquittement des évènements avec une BDD Access frontale existante permettant de rechercher et filtrer les évènements.
    Pour cela, j'ai créé une vue sous sql server regroupant les données nécessaires et en la liant par ODBC avec la BDD frontale.
    Cette vue transforme les dates/heures au format bigint au format date/heures classique mais en temps UTC.
    Etant totalement néophyte en sql server, j'aimerai savoir s'il existe une fonction permettant de convertir les dates/heures en bigint (ou en temps UTC) en dates/heure locale avec conservation de l'heure d'été/hiver.
    Merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 373
    Par défaut
    Bonjour,

    Citation Envoyé par PapouDomi Voir le message
    Bonsoir.
    ... j'aimerai savoir s'il existe une fonction permettant de convertir les dates/heures en bigint (ou en temps UTC) en dates/heure locale avec conservation de l'heure d'été/hiver.
    Merci.
    Oui, de tels fonction existent. Voici quelques exemples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    SELECT CONVERT(bigint, MaDate,105) --> 42179
     
    SELECT convert(bigint,'20150626053',121) --->20150626053
    Voici un lien qui pourrait t'aider à te familiariser: http://baptiste-wicht.developpez.com...rver/datetime/

    A+

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par PapouDomi Voir le message
    j'aimerai savoir s'il existe une fonction permettant de convertir les dates/heures en bigint (ou en temps UTC) en dates/heure locale avec conservation de l'heure d'été/hiver.
    Merci.
    Tout dépend si vous avez stocké vos données avec le fuseau horaire ou non (datetimeoffset) et la localisation géographique. En effet, sans cette précision impossible de savoir quel est le décalage des horaires d'hiver et d'été qui sont propre à chaque zone ou pays parfois avec des règles complexes (exemple Brésil).
    Personnellement j'utilise un ensemble de tables qui stockent toutes ces données et fournit cette conversion au moyen d'une UDF scalaire prenant en compte le fuseau et la zone géographique.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre éprouvé
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut
    Bonjour.
    Merci à vous.
    Comme solution, j'ai réalisé une vue qui me retourne la date / heure de tous les évènements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(second, Date_Event / 1000, '1970/01/01') as Date_Evenement
    Cette vue est attachée via ODBC dans la BDD Acces frontale
    Dans Access que je maitrise beaucoup mieux, j'ai créé 2 fonctions de conversion UTC vers Locale et Locale vers UTC qui se réfèrent au dernier dimanche de Mars et d'Octobre pour convertir la date passée en paramètre selon qu'elle est dans la période d'été ou d'hiver.
    Dans le formulaire, la saisie du filtre de date en locale est convertie en UTC pour actualiser la requête filtrant la table attachée.
    Cette requête transforme les résultats UTC en heure locale et ceux-ci sont affichés dans un état basé sur cette requête.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par PapouDomi Voir le message
    Bonjour.
    Merci à vous.
    Comme solution, j'ai réalisé une vue qui me retourne la date / heure de tous les évènements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(second, Date_Event / 1000, '1970/01/01') as Date_Evenement
    Cette vue est attachée via ODBC dans la BDD Acces frontale
    Dans Access que je maitrise beaucoup mieux, j'ai créé 2 fonctions de conversion UTC vers Locale et Locale vers UTC qui se réfèrent au dernier dimanche de Mars et d'Octobre pour convertir la date passée en paramètre selon qu'elle est dans la période d'été ou d'hiver.
    Dans le formulaire, la saisie du filtre de date en locale est convertie en UTC pour actualiser la requête filtrant la table attachée.
    Cette requête transforme les résultats UTC en heure locale et ceux-ci sont affichés dans un état basé sur cette requête.
    Votre règle ne concerne que certains pays d'europe.....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éprouvé
    Homme Profil pro
    Activités informatiques diverses
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Activités informatiques diverses
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Par défaut
    Bonsoir.
    Votre règle ne concerne que certains pays d'europe.....
    Effectivement, cela est, pour mon cas, limité à la France car il s'agit d'un suivi d'alarmes sur le site (GTC).
    Le système informatique archivant ces évènements est composé d'un réseau réduit (1 poste serveur et 2 postes clients) totalement isolé, pour des raisons de sécurité, de l'intranet.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion heure UTC en heure locale
    Par pagouille12 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 15/03/2013, 13h11
  2. TimeZone, heures UTC et heures fuseau
    Par yoyostras dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 14/08/2009, 17h21
  3. [Toutes versions] Heure UTC vers heure locale
    Par Morveus dans le forum Excel
    Réponses: 1
    Dernier message: 28/07/2009, 09h50
  4. Conversion temps UTC en temps Local
    Par jerome.fortias dans le forum C#
    Réponses: 2
    Dernier message: 30/08/2007, 15h38
  5. mfc:conversion de UTC à l'heure locale
    Par gbardy dans le forum MFC
    Réponses: 2
    Dernier message: 04/08/2006, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo