使用TimeSpan 結構,計算二個Datetime格式相差之天數、月、年等
//先將指定日期值轉為DateTime
if (!string.IsNullOrEmpty(abcStr))
abcDate = DateTime.ParseExact(
abcStr , "yyyy/MM/dd", null);
//實際日期大於當下
if (
abcDate > DateTime.Now)
{
//找出指定日期的第一天(以週日為一週的第一天)
abcDate =
abcDate .AddDays(Convert.ToDouble((0 - Convert.ToInt16(
abcDate .DayOfWeek))));
//算出指定週,規則說明:以本週為第0週,算出指定日期為第幾週
var week = (
abcDate.Subtract(DateTime.Now).Days + 1) / 7; //日期相減
}
TimeSpan值屬性與方法:
Days:返回用天數計算相差天整數。(時間相差會有時、分、秒考慮,會有不滿一天的可能)
Subtract:從中減去另一個時間值。
Ticks:返回TimeSpan值的tick數。//詳見用法參考連結
TotalDays:返回時間值表示的天數。(與Days的差別是,此會將會小數點(不滿一天的相差值)
更多詳細在參考屬性、方式等資訊:
http://msdn.microsoft.com/zh-tw/library/system.timespan.aspx
參考資料:
http://www.guan8.net/Java/430623.html
Tick用法參考:
http://www.dotblogs.com.tw/darren.net/archive/2009/02/26/7303.aspx