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 將此實例的值轉換為其等效的短日期字符串表示形式。