如何在asp.net中获取上个月的日期

时间:2013-02-05 07:46:10

标签: c# asp.net

我需要在asp.net中获取前几个月的日期,这意味着如果当前日期是2013年5月2日,那么我想将上一个日期显示为2013年5月1日。怎么解决这个问题?

3 个答案:

答案 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)方法。