2012-03-06 8 views
0

私の時間差スクリプトの最後の部分で助けが必要です0分、0秒私は誰かが私のためにこれを解決することを望んでいます。分と秒を表示するだけで0を表示する

mu is MembershupUser 
PrintTimeSpan1(DateTime.Now - mu.LastActivityDate); 

public string PrintTimeSpan1(TimeSpan p) 
{ 
    var sb = new StringBuilder(); 
    if (p.Days > 365) 
     sb.AppendFormat("{0} yr, ", (int)Math.Floor(p.TotalDays/365)); 
    if (p.Days % 365 > 30) 
     sb.AppendFormat("{0} months, ", (p.Days % 365)/30); 
    if (p.Days % 365 % 30 > 7) 
     sb.AppendFormat("{0} weeks, ", p.Days % 365 % 30/7); 
    if (p.Days % 365 % 30 % 7 > 0) 
     sb.AppendFormat("{0} days, ", p.Days % 365 % 30 % 7); 
    if (p.Hours > 0) 
     sb.AppendFormat("{0} hrs, ", p.Hours); 
    if (p.Minutes > 0) 
     sb.AppendFormat("{0} mins, ", p.Minutes); 
    if (p.Seconds > 0) 
     sb.AppendFormat("{0} seconds ,", p.Seconds); 
    if (sb.Length > 2) 
    { 
     sb.Remove(sb.Length - 2, 2); // remove the last ", " part. 
    } 

    return sb.ToString(); 
} 

答えて

2

% 59とはなんですか? Minutesには分数が、Secondsには秒数が格納されます。それはあなたが必要とするものでなければなりません。

残余を計算しなければならない場合、それは% 60ではありませんか?しかし、なぜそれがここに必要なのですか?

if (p.Minutes > 0) 
    sb.AppendFormat("{0} mins, ", p.Minutes); 
if (p.Seconds > 0) 
    sb.AppendFormat("{0} seconds ,", p.Seconds); 

TotalMinutesとTotalSecondsには、期間全体の分数と秒数が含まれています。 MinutesとSecondsはその時間帯の分を返します。

+0

私はそこに置くことを意味しませんでした。それは秒または分を表示しませんあなたはこれを修正する方法を知っています – ONYX

+0

私はあなたがバージョンだと私はまだ何も表示されない空白スペースを得る何も表示されません – ONYX

+0

あなたはいくつかのコードを掲載したが、そこに、そして今あなたはそれを変更しました。あなたが今持っているものは私にとって謎です。コードは何ですか?デバッガの使い方を知っていますか?値は何ですか? –

関連する問題