2014-05-06 6 views
0

Dans la capture d'écran, la méthode DateTime.ToString() est appelée mais la date n'est pas formatée au format attendu (comme dans QuickWow widnow). Quelque chose ne va pas ?DateTime.ToString() ne fonctionnant pas comme prévu

enter image description here

+2

Vous lui donnez un format explicite puis attendre pour utiliser le niveau régional? –

+0

Oui. On dirait que le programmeur épique échoue. Vous n'appelez PAS "ToString()", vous appelez une surcharge qui indique exactement comment vous voulez que celui-ci soit formaté. – TomTom

+0

Dans quel format le voulez-vous? – frenchie

Répondre

4

Vous utilisez / comme séparateur dans votre format ToString. Mais votre culture actuelle semble avoir - comme séparateur de date. C'est pourquoi vous voyez la différence. Vous pouvez passer CultureInfo.InvariantCulture avec ToString.

Comme:

DateTimeObject.ToString("MM/dd/yyy HHmmss", CultureInfo.InvariantCulture) 
+1

et nous devrons vainqueur .. +1 –

+0

@Habib, pourquoi le '/' se transformer en '-'. Pourquoi sont-ils modifiés en interne, bien qu'ils soient spécifiés explicitement? – Brij

+0

@Brij [Voici la documentation] (http://msdn.microsoft.com/fr-fr/library/8kb3ddd4%28v=vs.110%29.aspx#dateSeparator) –

0

DateTime.ToString remplace / avec le séparateur de date et : avec le séparateur de temps en cours. Vous passez le format vous-même et il ne correspond pas aux paramètres de la région.

Pour utiliser les paramètres de région, utilisez ToShortDateString() et ToShortTimeString().

0

Vous pouvez utiliser ceci:

DateTime.now.ToString("yyyyMMddHHmmss"); 

ou

DateTime.now.ToString("mm-dd-yyyy"); 
Questions connexes