2008-11-03 8 views
4

J'ai récemment changé de fournisseur d'hébergement et, en raison du fuseau horaire dans lequel se trouve le serveur, mon code a cessé de fonctionner. Le serveur d'hébergement signale en temps de Pacifique, cependant, mon code doit fonctionner avec GMT car mon site est pour le marché BRITANNIQUE. Donc, tous mes affichages et mes recherches doivent être au format jj/mm/aaaaFormat DateTime sur le serveur d'hébergement

Comment puis-je tenir compte de la différence? Par exemple, quand je fais un DateTime.Parse ("03/11/2008") il échoue comme je suppose que le "Parse" est contre les paramètres de serveurs. Je reçois également "Chaîne n'a pas été reconnu comme un DateTime valide." dans tout mon code.

Répondre

6

Dans votre fichier web.config Ajouter un élément <globalization> sous <system.web> noeud:

<system.web> 
    <globalization culture="en-gb"/> 
    <!-- ... --> 
</system.web> 
+0

Merci, merci, merci ... Ça a fonctionné à merveille. – Skittles

+0

+1 5 ans plus tard, et toujours la meilleure réponse est la plus simple. Merci! – iGanja

3

Essayez

DateTime.Parse("28/11/2008", new CultureInfo("en-GB")) 

Jetez un oeil à the overload for DateTime.Parse on MSDN.

Veillez également à ne pas confondre les fuseaux horaires (pacifique, GMT) avec les cultures. Les cultures sont votre problème réel ici.

1

Afin d'éviter de traiter de ces questions très ennuyeux, je vous conseille de AllWays analyser vos données suivant la norme SQL et uniques/Format de date ISO qui est AAAA-MM-JJ. Vos requêtes fonctionneront ensuite au niveau international, quels que soient les paramètres de date sur votre serveur principal ou sur les clients interrogateurs (où les paramètres de date locale peuvent être différents des paramètres du serveur principal)!

0

J'ai eu ce problème que les réponses ci-dessus n'ont pas résolu. Alors peut-être que cela peut aider quelqu'un à ne pas arracher tous leurs cheveux ..

J'ai obtenu NaN-NaN-Nan sur le nouveau serveur dans ma date-textbox. Trouvé que le nouveau serveur avait l'option Internet Explorer "Afficher les sites intranet en mode Compability". ici Solution était de mettre

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE"/> 

dans la tête du ASPX pour forcer le mode de compability.

Cela a résolu beaucoup de choses étranges qui se passait. Espérons que cela aide quelqu'un!