Мне нужно получить предыдущие месяцы в asp.net, что означает, что если текущая дата 5/2/2013, то я хочу отобразить предыдущую дату как 5/1/2013. Как это решить?
Как получить предыдущую дату месяца в asp.net
Ответ 1
Попробуйте следующее:
DateTime d = DateTime.Now;
d = d.AddMonths(-1);
Ответ 2
Решение состоит в том, чтобы вычесть 1 месяц:
DateTime.Now.AddMonths(-1)
Или, если не просто создать объект datetime с нуля:
var previousDate = DateTime.Now.AddMonth(-1);
var date = new DateTime(previousDate.Year, previousDate.Month, DateTime.Now.Day);
на этот раз вам гарантируется, что год и месяц верны, и день остается прежним. (хотя это не безопасный алгоритм из-за таких случаев, как 30 марта, а предыдущая дата должна быть 28/29 февраля, так что лучше пойдите с первой оценкой вычитания месяца)
Ответ 3
Если у вас уже есть дата в формате строки
String strDate = "5/1/2013";
DateTime dateTime = DateTime.ParseExact(strDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
dateTime = dateTime.AddMonths(-1);
else, если у вас есть объект DateTime
, просто назовите его AddMonths(-1)
.
Ответ 4
Вы можете попробовать следующее:
DateTime dt = DateTime.UtcNow.AddHours(6);
var thisYear = new DateTime(dt.Year, dt.Month-1, dt.Day);