2011-04-29 34 views
1

我用一些時間實用程序方法得到了一個類。現在我需要補充說明一個方法:解析日期時間實例

public static string LastUpdated(DateTime date) 
    { 
     string result = string.Empty; 

     //check if date is sometime "today" and display it in the form "today, 2 PM" 
     result = "today, " + date.ToString("t"); 

     //check if date is sometime "yesterday" and display it in the form "yesterday, 10 AM" 
     result = "yesterday, " + date.ToString("t"); 

     //check if the day is before yesterday and display it in the form "2 days ago" 
     result = ... etc; 

     return result; 
    } 

任何想法?

+0

看起來像你在正確的軌道上。有什麼特別讓你着迷? – 2011-04-29 17:37:22

回答

2

嗯......你可以做到這一點...

if (date.Date == DateTime.Today) { 
    result = "today, " + date.ToString("t"); 
} else if (date.Date.Day == DateTime.Today.AddDays(-1).Day) { 
    result = "yesterday, " + date.ToString("t"); 
} else { 
    result = (new TimeSpan(DateTime.Now.Ticks).Days - new TimeSpan(date.Ticks).Days) + " days ago"; 
} 

希望它有幫助。

+0

嗨,我在最後的「其他」上犯了一個錯誤,現在是對的。 – marcoaoteixeira 2011-04-29 18:39:41

+0

我相信應該完成這項工作。謝謝 :) – Kassem 2011-04-29 19:11:08

0

我不會爲你的代碼,但我會說,你應該看看TimeSpan類,並採取看看Custom Date and Time Formatting頁面上MSDN,這hilights你如何使用.ToString()DateTime目的。

您應該檢查日期是否大於1天(或2或3或其他),然後返回相應的字符串。

3

我回答過類似的問題而回,並張貼擴展方法:

Calculating relative dates using asp.net mvc

原始來源link

+0

這不是我真正想要的。我已經有了類似的功能,但是你的功能稍好一點,所以我用你的替換了我的。謝謝:) – Kassem 2011-04-29 19:10:37