我試圖從Datetime.Now
得到一年中剩餘的天數。C# - 從Datetime.Now中剩餘幾年的日期
有一點麻煩,我試着用datediff
沒有太大的成功。
我不認爲你們的專家可能會告訴我在C#中這將如何實現?
我想要一個代碼來返回剩餘天數的整數值。
我試圖從Datetime.Now
得到一年中剩餘的天數。C# - 從Datetime.Now中剩餘幾年的日期
有一點麻煩,我試着用datediff
沒有太大的成功。
我不認爲你們的專家可能會告訴我在C#中這將如何實現?
我想要一個代碼來返回剩餘天數的整數值。
關閉我的頭頂,你可以這樣做:
Date someDate = DateTime.Now;
Date nextYear = new DateTime(someDate.Year + 1, 1, 1);
int daysLeft = (nextYear - someDate).Days;
沒有測試過,因爲我在家裏,但我的邏輯很肯定。 :)
DateTime now = DateTime.Now;
DateTime end = new DateTime(now.Year + 1, 1, 1);
int daysLeftInYear = (int)(end - now).TotalDays;
如何:
public int DaysLeftInYear()
{
DateTime today = DateTime.Now;
int daysInYear = 365;
if (DateTime.IsLeapYear(today.Year))
{
daysInYear++;
}
return daysInYear - today.DayOfYear;
}
這樣的事情...
DateTime EOY = new DateTime(DateTime.Now.Year, 12, 31);
int DaysLeft = EOY.Subtract(DateTime.Now).Days;
如何:
DateTime date = DateTime.Today;
int daysInYear = DateTime.IsLeapYear(date.Year) ? 366 : 365;
int daysLeftInYear = daysInYear - date.DayOfYear; // Result is in range 0-365.
注意,重要的是要評估只DateTime.Now
曾經,否則如果在一年結束時評估一次,另一次評估一次,則可能會出現不一致。
已經有很多的工作,但還沒有看到這個簡單的一個又
DateTime today = DateTime.Now;
int daysleft = new DateTime(today.Year,12,31).DayOfYear - today.DayOfYear;
@喬恩飛碟雙向的答案:結果是在範圍0-366閏年。 –
@Quandary:不,它不是,因爲DayOfYear至少是1。 –