【发布时间】:2014-07-02 16:33:04
【问题描述】:
我想找到两个日期之间经过的确切时间,条件是如果任何值为“0”,则其测量单位应该消失。例如,如果小时和分钟比过去的时间长,则应该像 1 天 40 秒而不是 1 天 0 小时 0 分钟 40 秒。
TimeSpan elapsed = completdDate.Subtract(insertdDate);
int daysEl= elapsed.Days;
int hrsEl= elapsed.Hours;
int minsEl = elapsed.Minutes;
int secEl = elapsed.Seconds;
string totalTime = string.Empty;
string days = string.Empty;
string hours = string.Empty;
string mins = string.Empty;
string secs = string.Empty;
if (daysEl == 0 )
days = days.Replace(daysEl.ToString() , "");
else
days = daysEl.ToString();
if (hrsEl==0)
hours = hours.Replace(hrsEl.ToString() , "");
else
hours = hrsEl.ToString();
if (minsEl == 0)
mins = mins.Replace(minsEl.ToString(), "");
else
mins = minsEl.ToString();
if (secEl == 0)
secs = secs.Replace(secEl.ToString(), "");
else
secs = secEl.ToString();
totalTime = days + "days"
+ hours + "hours"
+ mins + "minutes"
+ secs + "seconds";
********************************输出************** ***************
【问题讨论】:
-
使用 StringBuilder 并且只添加你需要的位。
-
今后请多努力格式化您的代码。
-
如果你把它复制回你的代码库,一定要赞美我;)
标签: c# c#-4.0 datetime if-statement time