2012-03-23 73 views
0

如何設置文本框的值上個月(以前月底)的最後一天,用今天的日期。設置文本框的值較上月

例如:

如果今天是23/03/2012文本框的值應該是29/02/2012 如果下個月會有和日期是12/04/2012那麼文本框的值應該是31/03/2012等

感謝

+0

[在c#中獲取上個月的第一天和最後一天的日期]的可能重複(http://stackoverflow.com/questions/591752/get-the-previous-months-first-and-last-day-dates-在-C-銳) – itsmatt 2012-03-23 12:47:25

+0

哈......剛剛拿到這個問題裏面4個重複。拿你的選擇。 – 2012-03-23 12:52:23

回答

2

取當月的第一天,減去1:

DateTime value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1); 
0

使用DateTime.DaysInMonth完成這個:

var daysInMonth = DateTime.DaysInMonth(dt.Year, dt.Month - 1); 
var lastDayInMonth = new DateTime(dt.Year, dt.Month - 1, daysInMonth); 
textBox1.Text = lastDayInMonth.ToString("dd/MM/yyyy"); 
0

獲取每月的第一天並減去一天。

DateTime lastDayOfThePreviousMonth = dateSelected.AddDays(-dateSelected.Day); 
+0

好奇..如果當前日期是什麼1?然後它會添加-0天嗎? – 2012-03-23 12:51:23

+0

@ChrisGessler你是對的,沒有必要減一的日子。我已更新。 – daryal 2012-03-23 12:56:31

1
DateTime date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1); 
textBox1.Text = date.ToShortDateString(); 
+0

感謝您的回答+1 – Zaki 2012-03-23 13:07:30

0

在C#:

DateTime dt = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddDays(-1); 

然後調用.ToString(),並通過在你喜歡的任何格式。