J'ai une variable de chaîne qui stocke une date comme "05/11/2010". P>
Comment puis-je analyser la chaîne pour obtenir seulement l'année? P>
Je vais donc avoir une autre variable année comme année = 2010 code>. p>
5 Réponses :
Vous pouvez utiliser Méthode DateTime.Parse pour analyser la chaîne à un valeur DateTime qui a un var result = DateTime.Parse("05/11/2010", new CultureInfo("en-US")).Year;
// result == 2010
Cela devrait fonctionner pour vous.
string myDate = "05/11/2010"; DateTime date = Convert.ToDateTime(myDate); int year = date.Year;
Désolé, mais un tel constructeur de DateTime code> ne existe pas.
@Serge Vous semblez avoir raison. C'est ce que je reçois pour essayer de penser si tard et de ne pas confirmer avant de poster. : P
J'éviterais analyser sans spécifier une culture.
Si le format de la chaîne de date est corrigé (DD / mm / aaaa), j'aimerais vous recommander d'utiliser DateTime.Parseexact Méthode .
Le code: p> aussi je pense que cela pourrait être un peu plus rapide que Méthode DateTime.Parse , car la méthode d'analyse essaie d'analyser plusieurs représentations de la chaîne de date-heure . p> p>
Vous pouvez également utiliser regex strong> pour obtenir l'année public string getYear(string str)
{
return (string)Regex.Match(str, @"\d{4}").Value;
}
var result = getYear("05/11/2010");
2010
Cela correspond également aux 4 premiers chiffres de mon numéro de téléphone et, pour une raison quelconque, retourne l'année en tant que chaîne.
Certainement, mais si la question seulement au format de date, cela fonctionnerait.
variante de DTB que j'utilise: