ile "zamandan beri" üretmek için daha akıllı bir yol var, bu kodu geçmişte bir süre almak ve ne kadar önce olduğunu göstermek için okunabilir bir dize oluşturmak için var.bir DateTime nesnesi
ben olurdu düşünce Timespan.Hours saatlerce verecek olsa bile onun çoklu geçmişte daye ama onun ayrı bileşenlerinin (gün, ay, vb) içine ayırır gibi görünüyor. i toplam saat önce alacağı Nasıl (bile fazla 1 gün?
- oldukça spagetti imsi göründüğü gibi aşağıdaki kodu bu tip yazmak için herhangi temizleyici bir yolu var mı.
İşte onun kod
DateTime when = GetDateTimeinPast();
TimeSpan ts = DateTime.Now.Subtract(when);
switch (ts.Days)
{
case 0:
if (ts.Hours < 1)
b.Append(ts.Minutes + " minutes ago");
else
b.Append(ts.Hours + " hours ago");
break;
case 1:
b.Append(" yesterday");
break;
case 2:
case 3:
case 4:
b.Append("on " + when.DayOfWeek.ToString());
break;
default:
b.Append(ts.Days + " days ago");
break;
}
Bir dil yardımcı olabilir – TheLQ
C# olarak görünmektedir. –
@ Lord.Quackstar - güncellenen etiketler ve soru – leora