如何将年份与出生日期分开?

时间:2010-05-31 04:57:34

标签: c#

我想将年份与Birthdate分开。我在modalpopup中有一个名为Birthdate的复选框,它用于显示复选框旁边一个人的生日,当选中它时会在表格中显示mm / dd / yy动态创建。但我想分开mm / dd和年份,只显示日期和月份。还有另一个名为Show year的复选框,它只会显示是否选中了Birthdate复选框,如果选中,则只显示年份。 例如: 如果选中生日,则显示如下   出生日期[12/27]   年[1986] 如果未选中bithdate,则不会在下面显示年份复选框

4 个答案:

答案 0 :(得分:5)

您可以使用DateTime对其进行解析,然后根据需要将其格式化。这假定数据来自数据库或类似数据,因此会引发无效数据的异常。

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

答案 1 :(得分:3)

如果你有一个DateTime对象(你应该,而不是将日期作为字符串处理),那么你可以:

  • 以整数形式查询属性:myDate.YearmyDate.Month
  • 将日期格式化为字符串:myDate.ToString("yyyy");myDate.ToString("MM/dd");

您可以查看DateTime string formatting options in MSDN here

答案 2 :(得分: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

您可以使用更多格式化程序。

   /**
    *
    * 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
    */

答案 3 :(得分:0)

if(!Convert.IsDBNull(oReader [“BIRTH_DATE”]))

lblBirthDate.Text =“[”+ Convert.ToDateTime(oReader [“BIRTH_DATE”])。ToShortDateString()+“]”;

DateTime dob = Convert.ToDateTime(oReader [“BIRTH_DATE”]); int year = dob.Year; lblBirthYear.Text + =年; }