2010-02-17 6 views
0
DateTime date = new DateTime(1970, 1, 15); 
string sdate = date.ToString(value_i_will_forget as string, 
    CultureInfo.InvariantCulture); 

// some lines later 

string format_string = MagicParse(sdate, 
    CultureInfo.InvariantCulture); 

J'ai une date arbitraire que j'écris dans une chaîne avec CulturInfo.InvariantCulture. Le format .Net que j'utilise - "d", par exemple - est maintenant oublié. Je sais cependant que la chaîne n'a pas changé, c'est encore valide et c'est toujours avec la culture invariante. Im recherchant la fonction MagicParse à extrait la chaîne de format utilisée pour écrire la date formatée.Trouver le format utilisé pour analyser la date en chaîne

+0

Vous seulement des chaînes de format standard, ou sont des chaînes de format personnalisé ainsi permis? – Greg

+1

Seules les chaînes de format standard. En fait, même juste un sous-ensemble des formats standards. Suggérez-vous une approche de force brute? – Mizipzor

+0

Sorte de. Je ne connais aucune méthode intégrée pour le faire. – Greg

Répondre

0

Sauf si vous avez un échantillon de dates dans lesquelles le jour dépasse 12, il n'y a aucune façon possible que ce soit jamais sûr.

+0

Même si nous sommes en mesure de supposer que le format n'a pas changé? – Mizipzor

+2

Même alors, vous n'êtes pas certain. Un 13 peut être le jour ou 2013. – Carra

+5

Exemple: La date est le 1er janvier 2001. Les chaînes de format "MM/jj/aa", "jj/MM/aa", "aa/MM/jj" ... tous créent "01/01/01". Comment inversez-vous cela? – Greg

Questions connexes