0
A
回答
2
string gettime(DateTime updatedat)
{
string toren = "A moment earlier";
TimeSpan ts = DateTime.Now - updatedat;
if (ts.TotalSeconds<60)
{
toren = ts.TotalSeconds.ToString() + " seconds ago";
}
else if (ts.TotalMinutes < 60)
{
toren = ts.TotalMinutes.ToString() + " minutes ago";
}
else if (ts.TotalHours < 24)
{
toren = ts.TotalHours.ToString() + " hours ago";
}
else if (ts.TotalDays < 30)
{
toren = ts.TotalDays.ToString() + " days ago";
}
else
{
double month = ts.TotalDays/30;
if (month<13)
{
toren = month.ToString() + " months ago";
}
else
{
double year = month/12;
toren = year.ToString() + " years ago";
}
}
return toren;
}
更改/優化。
1
從
here
引用答案:
const int SECOND = 1;
const int MINUTE = 60 * SECOND;
const int HOUR = 60 * MINUTE;
const int DAY = 24 * HOUR;
const int MONTH = 30 * DAY;
if (delta < 0)
{
return "not yet";
}
if (delta < 1 * MINUTE)
{
return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";
}
if (delta < 2 * MINUTE)
{
return "a minute ago";
}
if (delta < 45 * MINUTE)
{
return ts.Minutes + " minutes ago";
}
if (delta < 90 * MINUTE)
{
return "an hour ago";
}
if (delta < 24 * HOUR)
{
return ts.Hours + " hours ago";
}
if (delta < 48 * HOUR)
{
return "yesterday";
}
if (delta < 30 * DAY)
{
return ts.Days + " days ago";
}
if (delta < 12 * MONTH)
{
int months = Convert.ToInt32(Math.Floor((double)ts.Days/30));
return months <= 1 ? "one month ago" : months + " months ago";
}
else
{
int years = Convert.ToInt32(Math.Floor((double)ts.Days/365));
return years <= 1 ? "one year ago" : years + " years ago";
}
是的,我做引用。因爲這個答案完全符合PO的要求。 :)
編輯: 問題PO:一兩件事。如果我從數據庫中檢索日期和時間字段是什麼。我如何暗示這段代碼?
不知道你的結構或代碼,它看起來是這樣的:根據您的需要
var cmd = new SqlCommand(yourConnection);
cmd.CommandText = "SELECT yourDateColumn FROM yourTable";
using (var sr = cmd.ExecuteReader)
{
if (sr.Read)
{
var yourDateTime = sr.GetDateTime(0);
}
}
+0
還有一件事..如果我從數據庫檢索日期和時間字段怎麼辦..我怎麼能暗示此代碼.. –
+0
@ Kaushik相應地更新了我的答案。雖然這是更類似於僞代碼,因爲我不知道你的數據結構或任何東西。 –
相關問題
- 1. 彬Python的包裝 - 打印總成本
- 2. 在sourceforge上PMD彬5.0.0下載任何規則集或basic.xml
- 3. 無法加載文件或程序集\\ \\彬斌
- 4. 大禮包價格過濾
- 5. 我如何自定義數字「禮」的風格在CSS
- 6. 如何來從大禮包
- 7. 添加樣式樹(「禮」)
- 8. 如何在沒有FBML的情況下發送Facebook禮物?
- 9. 刪除第一個出現的閉括號]
- 10. 在Microsoft Outlook中打印時隱藏HTML元素
- 11. 如何使禮品卡設計像psprint.com
- 12. 如何從大禮包前端
- 13. 如何教Eclipse一些禮節
- 14. Facebook禮物:如何通過Open Graph訪問關於給定禮物的信息?
- 15. 大禮包在安裝時沒有提供任何主頁
- 16. 如何在使用bash時保留所有格式(空格)?
- 17. 更改「禮」
- 18. 網址禮儀?
- 19. 記錄禮儀
- 20. 如何在1格式SQLSERVER
- 21. 我如何在此格式
- 22. 如何格式化在vb.net
- 23. 如何在原始格式
- 24. 如何將所有圖像格式轉換爲.png格式?
- 25. 如何在Struts2中格式化表格?
- 26. 如何在int中將int格式化爲價格格式?
- 27. 如何在asp.net中顯示具有特定格式/格式的數據?
- 28. 如何檢查格式是否有效?
- 29. 如何獲得促銷代碼或禮品卡的折扣價格?
- 30. C#正則表達式搜索,格式化搜索prase如果布爾AND,OR,NOT禮物
你有沒有試過在.net中檢查日期函數? –
也許很多if-else? –
您可以使用TimeSpan解決此問題。 –