2010-05-31 4 views
0

Je veux séparer l'année de la date de naissance.J'ai une case à cocher appelée Date de naissance dans un modalpopup et il a utilisé pour afficher la date de naissance d'une personne à côté de la case à cocher et affichera le mm/jj/aa dans une table créée dynamiquement. Mais je veux séparer le mm/jj et l'année et montrer seulement la date avec le mois. Et il y aura une autre case à cocher intitulée Afficher l'année qui ne s'affichera que si la case Date de naissance est cochée et si elle est cochée, elle affichera uniquement l'année. Par exemple: si est cochée On suppose que la date de naissance, il affichera comme ci-dessous Date de naissance [12/27] Année [1986] et si bithdate n'est pas cochée, il ne sera pas affiché la case ci-dessous l'annéeComment séparer l'année d'une date de naissance?

+2

Insérez le texte de présentation ici à propos de l'an 2000, les programmeurs COBOL se retournant dans leurs tombes, etc. –

Répondre

5

Vous pouvez analyser avec DateTime, puis le reformater comme vous le souhaitez. Cela suppose que les données proviennent d'une base de données ou similaire, de sorte qu'il génère une exception pour les données non valides.

DateTime parsed = DateTime.ParseExact(birthDate, "MM/dd/yy", null); 
string dateNoYear = parsed.ToString("MM/dd"); 
string year = parsed.ToString("yy"); 
3

Si vous avez un objet DateTime (et vous devriez, plutôt que de traiter avec des dates comme des chaînes), vous pouvez:

  • requête pour les propriétés comme des entiers: myDate.Year, myDate.Month.
  • Format la date comme une chaîne: myDate.ToString("yyyy");, myDate.ToString("MM/dd");

Vous pouvez consulter la DateTime string formatting options in MSDN here.

0
//Assuming you have your birtdate is in instance birthDate of type DateTime. 
DateTime birthDate; 
//set the birthDate here. 

string year = birthDate.ToString("yyyy"); 
string month = birthDate.ToString("mm"); 
string day = birthDate.ToString("dd"); 
//Now play as you wish 

Plus de formateurs que vous pouvez utiliser.

/** 
    * 
    * d :08/17/2000 
    * D :Thursday, August 17, 2000 
    * f :Thursday, August 17, 2000 16:32 
    * F :Thursday, August 17, 2000 16:32:32 
    * g :08/17/2000 16:32 
    * G :08/17/2000 16:32:32 
    * m :August 17 
    * r :Thu, 17 Aug 2000 23:32:32 GMT 
    * s :2000-08-17T16:32:32 
    * t :16:32 
    * T :16:32:32 
    * u :2000-08-17 23:32:32Z 
    * U :Thursday, August 17, 2000 23:32:32 
    * y :August, 2000 
    * dddd, MMMM dd yyyy :Thursday, August 17 2000 
    * ddd, MMM d "'"yy :Thu, Aug 17 '00 
    * dddd, MMMM dd :Thursday, August 17 
    * M/yy :8/00 
    * dd-MM-yy :17-08-00 
    */ 
0

if (! Convert.IsDBNull (oReader [ "BIRTH_DATE"]))

lblBirthDate.Text = "[" + Convert.ToDateTime (oReader [ "BIRTH_DATE"]). ToShortDateString() + "]";

DateTime dob = Convert.ToDateTime (oReader ["BIRTH_DATE"]); int année = année. lblBirthYear.Text + = année; }

Questions connexes