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

Opt*_*mus 23 c# asp.net

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

Isw*_*San 46

试试这个 :

DateTime d = DateTime.Now;
d = d.AddMonths(-1);
Run Code Online (Sandbox Code Playgroud)


dut*_*tzu 14

解决方案是减少1个月:

DateTime.Now.AddMonths(-1)
Run Code Online (Sandbox Code Playgroud)

或者如果不是从头开始构建datetime对象:

var previousDate = DateTime.Now.AddMonth(-1);

var date = new DateTime(previousDate.Year, previousDate.Month, DateTime.Now.Day);
Run Code Online (Sandbox Code Playgroud)

这次你保证年和月是正确的,一天保持不变.(虽然这不是一个安全的算法,因为像3月30日和前一个日期的情况应该是2月28日/ 29日,所以最好先减少一个月的减少)


Var*_*ngh 5

如果您已经有字符串格式的日期时间

var strDate = "5/1/2013";
var dateTime = DateTime.ParseExact(strDate, 
                                   "dd/MM/yyyy",
                                   CultureInfo.InvariantCulture);

var lastMonthDateTime = dateTime.AddMonths(-1);
Run Code Online (Sandbox Code Playgroud)

否则,如果你有DateTime对象只是调用它的AddMonths(-1)方法.