J'ai eu une fonction rapide de formater une date, la voici:C# - Est-ce que je remplace un code parfaitement bon?
public static string archiveServerDateTime(string datetime)
{
DateTime tempDateTime = DateTime.ParseExact(datetime,"dd.MM.yyyy HH:mm:ss", null);
return tempDateTime.ToString("yyyy/MM/dd:HH:mm:ss");
}
seulement pour trouver la sortie de la fonction = 2009.10.22: 16: 21: 03, et étonnamment ceci est seulement sur la production 1 serveur, serveur de test fonctionnait parfaitement bien ......
Alors maintenant, je réécris la fonction à l'ancienne école de style:
public static string archiveServerDateTime(string datetime)
{
DateTime tempDateTime = DateTime.ParseExact(datetime,"dd.MM.yyyy HH:mm:ss", null);
string yearPart = Convert.ToString(tempDateTime.Year);
string monthPart = Convert.ToString(tempDateTime.Month).PadLeft(2,'0');
string dayPart = Convert.ToString(tempDateTime.Day).PadLeft(2, '0');
string hourPart = Convert.ToString(tempDateTime.Hour).PadLeft(2, '0');
string minutePart = Convert.ToString(tempDateTime.Minute).PadLeft(2, '0');
string secondPart = Convert.ToString(tempDateTime.Second).PadLeft(2,'0');
return yearPart + @"/" + monthPart + @"/" + dayPart + ":" + hourPart + ":" + minutePart + ":" + secondPart;
//return tempDateTime.ToString("yyyy/MM/dd:HH:mm:ss");
}
Je vous demande donc mesdames et messieurs, je suis remplaçais parfaitement bon code commencer avec, ou est-ce un bug de Microsoft d'une certaine sorte? Pouvons-nous vraiment faire confiance à ces nouvelles fonctionnalités du langage qui ne semblent pas si solides, ou est-ce que je manque quelque chose?
lien de doc: http://msdn.microsoft.com/en-us/library/system.datetime.tostring(VS.71).aspx –
Merci Mehrdad, aimez-vous ma vieille fonction d'école ci-dessus? –
JL: Je préfère votre première fonction si c'est fait correctement. Le mode old school est plus difficile à comprendre (l'intention n'est pas évidente) et est plus sujet aux erreurs. –