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

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

试试这个 :

DateTime d = DateTime.Now; d = d.AddMonths(-1); 

解决方案是减少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日,所以最好先减少一个月的减少)

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

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

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

你可以试试这个:

 DateTime dt = DateTime.UtcNow.AddHours(6); var thisYear = new DateTime(dt.Year, dt.Month-1, dt.Day);