程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# TimeSpan 計算時間差(時間間隔)

C# TimeSpan 計算時間差(時間間隔)

編輯:C#入門知識

TimeSpan 結構  表示一個時間間隔。

 

View Code

 

 

 

求離最近發表時間的函數
public string DateStringFromNow(DateTime dt)
{
TimeSpan
span = DateTime.Now - dt;
if (span.TotalDays > 60)
{
return
dt.ToShortDateString();
}
else if ( span.TotalDays > 30 )
{

return "1個月前";
}
else if (span.TotalDays > 14)
{
return
"2周前";
}
else if (span.TotalDays > 7)
{
return "1周前";
}

else if (span.TotalDays > 1)
{
return string.Format("{0}天前",
(int)Math.Floor(span.TotalDays));
}
else if (span.TotalHours > 1)
{
return string.Format("{0}小時前", (int)Math.Floor(span.TotalHours));
}
else if (span.TotalMinutes > 1)
{
return string.Format("{0}分鐘前", (int)Math.Floor(span.TotalMinutes));
}
else if (span.TotalSeconds >= 1)
{
return string.Format("{0}秒前",
(int)Math.Floor(span.TotalSeconds));
}

return "1秒前";

}
}

C#中使用TimeSpan計算兩個時間的差值

可以反加兩個日期之間任何一個時間單位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new
TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小時"+ ts.Minutes.ToString()+"分鐘"+ ts.Seconds.ToString()+"秒";
return dateDiff;
}

 

TimeSpan ts = Date1 - Date2;

double dDays = ts.TotalDays;//帶小數的天數,比如1天12小時結果就是1.5

比如1天12小時結果就是1.5

int nDays = ts.Days;//整數天數,1天12小時或者1天20小時結果都是1

/// <summary>
/// 日期比較
/// </summary>
/// <param name="today">當前日期</param>
/// <param name="writeDate">輸入日期</param>
/// <param name="n">比較天數</param>
<returns>大於天數返回true,小於返回false</returns>
private bool CompareDate(string today, string writeDate, int n)
{
DateTime Today = Convert.ToDateTime(today);
DateTime WriteDate = Convert.ToDateTime(writeDate);
WriteDate = WriteDate.AddDays(n);
if (Today>= WriteDate)
return false;
else
return true;
}

二.DateTime和TimeSpan中的常用成員及其說明:

Date 獲取此實例的日期部分。
Day 獲取此實例所表示的日期為該月中的第幾天。
DayOfWeek 獲取此實例所表示的日期是星期幾。
DayOfYear 獲取此實例所表示的日期是該年中的第幾天。
Hour 獲取此實例所表示日期的小時部分。
Millisecond 獲取此實例所表示日期的毫秒部分。
Minute 獲取此實例所表示日期的分鐘部分。
Month 獲取此實例所表示日期的月份部分。
Now 創建一個DateTime實例,它是此計算機上的當前本地日期和時間。
Second 獲取此實例所表示日期的秒部分。
TimeOfDay 獲取此實例的當天的時間。
Today 獲取當前日期。
Year 獲取此實例所表示日期的年份部分。

AddDays 將指定的天數加到此實例的值上。
AddHours 將指定的小時數加到此實例的值上。
AddMilliseconds 將指定的毫秒數加到此實例的值上。
AddMinutes 將指定的分鐘數加到此實例的值上。
AddMonths 將指定的月份數加到此實例的值上。
AddSeconds 將指定的秒數加到此實例的值上。
AddYears 將指定的年份數加到此實例的值上。
DaysInMonth 返回指定年份中指定月份的天數。
IsLeapYear 返回指定的年份是否為閏年的指示。
Parse 將日期和時間的指定字符串表示轉換成其等效的DateTime實例。
Subtract 從此實例中減去指定的時間或持續時間。
ToLongDateString 將此實例的值轉換為其等效的長日期字符串表示形式。
ToLongTimeString 將此實例的值轉換為其等效的長時間字符串表示形式。
ToShortTimeString 將此實例的值轉換為其等效的短時間字符串表示形式。
ToShortDateString 將此實例的值轉換為其等效的短日期字符串表示形式。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved