2010-03-05 4 views
1

Je suis confronté depuis deux jours à un problème de format de date en SQL.Les formats de date ne correspondent pas aux différents serveurs (colonne XML)

J'ai développé une application dans ASP.NET et l'ai déployée dans un serveur de production. Je persistance des données dans une table qui a une colonne xml avec la date feilds comme

--- temps date ---

Quand je lance l'application à partir localhost (ou Déployez l'application dans mon ordinateur) la date a persisté dans 24 heures format de l'heure

Pour exemple: 15/08/2009 14:30:00

et quand je lance la même application déployée sur le serveur de production des données est conservée en 12 heures de temps format

Par exemple: 15/08/2009 2:30:00 PM

Remarque: Je ne spécifie aucun format dans le code d'application lorsque des données persistantes.

Voici ce que j'ai essayé:

  1. paramètres régionaux cochés de mon ordinateur et le serveur web et le format est le même (h: mm: ss tt)

  2. avons vérifié la culture info de mon ordinateur et serveur web et c'est pareil. (en-AU)

  3. Dans les propriétés IIS de mon ordinateur, j'ai défini la même culture du serveur Web en modifiant la configuration. Les dates dans les colonnes de date de la même table sont stockées dans un format cohérent (format 24 heures) lorsqu'elles sont conservées de mon ordinateur et du serveur Web de production.

Pour exemple: 2009-10-28 14: 00: 49,000

encore le temps de date est stockée dans des formats différents. Je suis incapable de comprendre d'où l'application prend le format en cas de persistance.


J'ai finalement trouvé la cause de ce problème. Je voudrais poster juste au cas où quelqu'un fait face à ce même problème cela pourrait les aider.

Accédez à regedit. Sélectionnez Controlpanel -> international -> sTimeFormat et vérifiez le format de l'heure donné.

Dans mon ordinateur, le format de l'heure est HH: mm: ss et dans le serveur c'est hh: mm: ss tt qui était le problème principal. J'ai changé le format dans le serveur à HH: mm: ss et cela fonctionne parfaitement :)

Veuillez vous référer à this link pour plus de détails.

Répondre

0

Essayez d'ajouter ce qui suit à l'web.config de votre site:

<system.web> 
<globalization culture="en-ZA" uiCulture="en-ZA"/> 
</system.web> 

Remplacer "en-ZA" avec la culture spécifique dont vous avez besoin. La volonté assurera que les paramètres de culture des navigateurs ne seront pas utilisés.

Questions connexes