У меня есть дата 27-12-2010 (день-месяц-год). Мне нужно следующее значение.Получайте последние объявления в последний день месяца
31.12.2010 (последний день этого месяца)
30-12-2010 (За последний день этого месяца)
У меня есть дата 27-12-2010 (день-месяц-год). Мне нужно следующее значение.Получайте последние объявления в последний день месяца
31.12.2010 (последний день этого месяца)
30-12-2010 (За последний день этого месяца)
Если вы хотите, чтобы последний день месяца указано, использование это:
Dim original As DateTime = DateTime.Now ' The date you want to get the last day of the month for
Dim lastOfMonth As DateTime = original.Date.AddDays(-(original.Day - 1)).AddMonths(1).AddDays(-1)
немного долго наматывается, но это гарантирует вам не будет каким-то образом в конечном итоге с первого числа следующего месяца или второго до последнего месяца.
Это также учитывает високосные годы, он будет показывать последний день каждого месяца. +1 –
Да. Все, что он делает, это получить первый день текущего месяца, добавить месяц (который всегда дает нам 1-е из следующего месяца) и вычесть день. –
Получить начальный день и последний день текущего месяца:
Dim thisMonth As New DateTime(DateTime.Today.Year, DateTime.Today.Month, 1)
'beginning day of the month
thisMonth.ToString("yyyy-MM-01")
'last day of the month
thisMonth.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd")
Я не думаю, что это хороший подход (хотя он может работать), потому что вы всегда избегаете конверсии и, особенно, строки. Он имеет низкую производительность. – Sascha
Если вы приняли ответы, люди были бы более вероятно, чтобы помочь. – treeface
Как насчет того, чтобы переходить от полупостоянного «Мне нужна ценность», к чему-то вроде «Как это можно сделать?» - или даже некоторый код, который показывает ваш текущий подход и какова ваша проблема? – miku