2013-02-15 31 views
0

我試圖格式化一個MonoTouch的項目的日期,顯示一個類似的字符串:格式使用C#或顯示在一個月星期的MonoTouch

1st Saturday of the month, February 2, 2013 

,但我一直無法找到一個方法來用C#格式化它。

我先前已經能夠做到這一點的目標C使用格式,如:

[dateFormatter setDateFormat:@"F'st' EEEE 'of the month', MMMM d, yyyy"]; 

,並與「第二」,「3ST」與「3」取代「2ST」等,但我有無法找到'F'字符的替代品。

有什麼辦法可以在C#中做到這一點?

+0

請不要在問題中回答您的問題 - 請添加一個答案。謝謝。 – Stuart 2013-02-16 03:01:35

回答

0

以前的答案的兩個很接近,但在同一個地方都出現錯誤。這裏是我使用的代碼來獲取本月的一週中的某一天:

int dowin = (SelectedDate.Day - 1)/7 + 1; 
switch(dowin){ 
    case 1:{ 
     return "1st" + dateString; 
    } 
    case 2:{ 
     return "2nd" + dateString; 
    } 
    case 3:{ 
     return "3rd" + dateString; 
    } 
    case 4:{ 
     return "4th" + dateString; 
    } 
    case 5:{ 
     return "5th" + dateString; 
    } 
} 
0

DateTime.Now.Day/7 + 1會給你一個號碼,然後你添加字符串的其餘部分

0

我不知道任何標準格式說明這樣做的,但它應該是相當簡單的計算:

DateTime date = DateTime.Now; 

int day = date.Day; 

int ordinal = (day/7) + 1; 

// if it's the first occurrence, ordinal will be 1, 2nd will be 2, etc 

(我還沒有運行,通過編譯器檢查,但我認爲基本思想工作)

相關問題