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

问题描述 投票:23回答:3

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

c# asp.net
3个回答
43
投票

试试这个 :

DateTime d = DateTime.Now;
d = d.AddMonths(-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日,所以最好先减少一个月的减少)


5
投票

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

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

var lastMonthDateTime = dateTime.AddMonths(-1);

否则,如果你有DateTime对象只是称它为AddMonths(-1)方法。

© www.soinside.com 2019 - 2024. All rights reserved.