2010-04-30 5 views
2

Ex date que vous entrez dans les différents formulaire textboxDivisez la date C#

  1. 12/Augest/2010
  2. Augest/12/2010
  3. 2010/12/Augest

et eteint est trois jours est d'abord textbox show = 12 deuxième zone de texte est Mois montrent = Augest troisième année textbox show = 2010

+1

Ou essayez http://stackoverflow.com/search?q=datetime.parse :) –

Répondre

5

Pour analyser/valider par rapport à trois formats attendus, vous pouvez utiliser quelque chose comme ci-dessous. Compte tenu du motif, une fois que vous savez qu'il est valide, vous pouvez simplement utiliser string.Split pour obtenir la première partie; Si vous avez besoin de quelque chose de plus élégant, vous pouvez utiliser TryParseExact pour chaque motif et extraire la partie désirée (ou reformater).

string s1 = "12/August/2010", 
      s2 = "August/12/2010", 
      s3 = "2010/12/August"; 

    string[] formats = { "dd/MMMM/yyyy", "MMMM/dd/yyyy", "yyyy/dd/MMMM" }; 
    DateTime d1 = DateTime.ParseExact(s1, formats, 
         CultureInfo.CurrentCulture, DateTimeStyles.None), 
      d2 = DateTime.ParseExact(s2, formats, 
         CultureInfo.CurrentCulture, DateTimeStyles.None), 
      d3 = DateTime.ParseExact(s3, formats, 
         CultureInfo.CurrentCulture, DateTimeStyles.None); 
0
date dt date.Parse(txtBox.text); 

txtBox1.Text = dt.Day.ToString(); 
txtBox2.Text = dt.ToString("MMM"); 
txtBox3.Text = dt.Year.ToString(); 

Date.parse pourrait jeter selon la chaîne que vous donnez, mais vous pouvez retomber en essayant d'analyser à l'aide d'une autre culture.

Edit: Ajout d'une M

0

Utilisez DateTime.Parse(s). Voir MSDN

Ensuite, vous pouvez obtenir les parties individuelles d'une structure DateTime.

par exemple.

DateTime date = DateTime.Parse("some input date string"); 
string day = DateTime.Day.ToString(); 
string month = DateTime.Month.ToString(); 
string year = DateTime.Year.ToString();