2010-05-31 24 views
0

我想從birthdate中分離出一年。我在modalpopup中有一個名爲Birthdate的複選框,它用於顯示覆選框旁邊的人的出生日期,並且在選中它時將在創建的表中顯示mm/dd/yy動態。但我想分開mm/dd和年份,並只顯示日期和月份。並且會出現另一個名爲Show Year的複選框,僅在出生日期複選框被選中時纔會顯示,如果選中,則只顯示年份。 對於例如:如果 假設的出生日期被選中時,它會顯示如下 生日[12/27] 年[1986] 如果未選中bithdate它不會顯示在下面如何區分年份和出生日期?

+2

在此處插入關於Y2K,COBOL程序員在他們的墳墓中滾動的程序員等等。 – 2010-05-31 05:12:57

回答

5

年複選框可以解析它與DateTime,然後將其格式化,但不管你想要什麼。這假設數據來自數據庫或類似數據,所以它會拋出無效數據的異常。

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

如果你有一個DateTime對象(你應該,而不是處理日期字符串),那麼你可以:

  • 查詢的性能整數:myDate.YearmyDate.Month
  • 格式的日期字符串:myDate.ToString("yyyy");myDate.ToString("MM/dd");

您可以查看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 

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

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

如果(!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 + =年份; }

相關問題