我需要在asp.net中获取前几个月的日期,这意味着如果当前日期是2013年5月2日,那么我想将上一个日期显示为2013年5月1日。怎么解决这个问题?
答案 0 :(得分:43)
试试这个:
DateTime d = DateTime.Now;
d = d.AddMonths(-1);
答案 1 :(得分:14)
解决方案是减少1个月:
DateTime.Now.AddMonths(-1)
或者如果不是从头开始构建datetime对象:
var previousDate = DateTime.Now.AddMonth(-1);
var date = new DateTime(previousDate.Year, previousDate.Month, DateTime.Now.Day);
这次你可以保证年和月都是正确的,而且这一天保持不变。 (虽然这不是一个安全的算法,因为像3月30日和前一个日期的情况应该是2月28日/ 29日,所以最好先减少一个月的减少)
答案 2 :(得分:5)
如果您已经有字符串格式的日期时间
var strDate = "5/1/2013";
var dateTime = DateTime.ParseExact(strDate,
"dd/MM/yyyy",
CultureInfo.InvariantCulture);
var lastMonthDateTime = dateTime.AddMonths(-1);
否则,如果您有DateTime
个对象,只需将其称为AddMonths(-1)
方法。