如果我有一個DateTime
,例如2012-05-24
,將其轉換爲該月的最後一天的日期的最快方法是什麼(2012-05-31
)。如何將DateTime變成月份的最後一天?
回答
那麼你可以使用:
DateTime date = ...;
var endOfMonth = new DateTime(date.Year, date.Month,
DateTime.DaysInMonth(date.Year, date.Month));
需要注意的是,這將創建一個DateTime
與Unspecified
一個Kind
。你應該考慮你真的想要什麼Kind
。 (或使用我Noda Time庫,在那裏你會使用一個LocalDate
代替。)
爲什麼你使用'var'類型而不是'DateTime'? –
@SubinJacob:這似乎很清楚,因爲我明確地調用了'new DateTime(...)'。不過,我會改變'日期'的。 –
我的答案似乎沒用,當你回答的人:( –
這裏的一些推廣方法我用:
public static class DateTimeExtensionMethods
{
public static DateTime StartOfMonth(this DateTime date)
{
return new DateTime(date.Year, date.Month, 1);
}
public static DateTime EndOfMonth(this DateTime date)
{
return date.StartOfMonth().AddMonths(1).AddSeconds(-1);
}
}
注意,在我的情況下,我使用他們的SQL查詢,因此我希望它達到本月最後一天的最後一秒。
根據意見,是的,如果你想只是想日期,而不是時間,你可以使用:
public static DateTime EndOfMonth(this DateTime date)
{
return date.StartOfMonth().AddMonths(1).AddDays(-1);
}
或者只是使用的結果Date
屬性剛剛得到的日期部分,然後將其根據你的使用方式來滿足這兩種情況。
「月末」會在本月的最後一天的11:59:59分,這不是所描述的無可否認,OP可以使用'Date'屬性,但是在午夜創建一個新的'DateTime'會感覺更清晰,就像你對'StartOfMonth'的操作一樣(並且可以很容易地直接完成)。 –
Just將.AddSeconds(-1)改爲.AddDays(-1),然後改爲。 – Loyalar
@LarsJensen:在那一刻,我會刪除我的downvote,是的。它仍然不是我的首選解決方案,但它至少會更好。 (無論如何刪除「一秒鐘」都是奇怪的 - 不是那代表當天的最後一個DateTime值,一個* tick *會更明智,但通常在涉及時間時最好使用獨佔終點反正一段時間...) –
試試這個
DateTime dt = DateTime.Parse("2012-05-24");
DateTime lastDate = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
試試這個
DateTime date = new DateTime(2012, 05, 24);
DateTime endOfMonth = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));
輸出: 5/31/2012 12:00:00 AM
然後,您可以修改此爲您所需的格式。
- 1. 如何使用月份的最後一天創建DateTime對象?
- 2. 從python的年份月份獲取月份的最後一天
- 3. 給定月份的最後一天
- 4. 月份問題的最後一天
- 5. 月份計算的最後一天
- 6. 瞬間JS月份的最後一天
- 7. 返回月份的最後一天
- 8. Solr計算月份的最後一天
- 9. 從月份中獲取月份的第一天和最後一天的密鑰
- 10. 如何用Perl的DateTime得到本月的第一天和最後一天?
- 11. 創建月份變量的最後一天的有效方法
- 12. 如何獲取當前月份的最後一天和下個月的最後一天
- 13. 如何獲得可可的月份的最後一天?
- 14. 格式日期作爲月份的第一天/最後一天
- 15. 如何從YearMonth日期獲取月份的最後一天?
- 16. 如何在YearMonth對象中獲取月份的最後一天?
- 17. PostgreSQL:如何查詢當前月份的最後一天?
- 18. JQuery DatePicker添加月份到最後一個月的最後一天
- 19. 映射月份到當月的最後一天的編號
- 20. 將月份的第一天轉換爲Angular JS中的月份的最後一天
- 21. 如何獲取給定月份的第一天和最後一天
- 22. TSQL從前幾個月的最後一天到指定月份
- 23. SAS:找到月份和年份的最後一天的日期
- 24. 本月的最後一天?
- 25. 獲取所選月份和年份的第一天和最後一天?
- 26. 減去月份 - 月份的最後一天的問題?在河上的日期
- 27. 你怎麼這個月的最後一天calulate從datetime值
- 28. PHP:在不超過月份的最後一天的情況下添加月份
- 29. 計算月份開始/結束時固定的月份最後一天
- 30. 如何通過給出月份和年份作爲輸入來獲取mysql中的月份的最後一天
已經這個問題可以討論** [參考文獻] [1] ** [1]:http://stackoverflow.com/questions/2493032/how-to-get-the-last -day-of-month –