DateTime.Now.ToString("Y")
返回我:2013 年 8 月
有没有一种简单的方法可以上个月以相同的格式获得?
类似于:DateTime.LastMonth.ToString("Y")
输出将是:2013 年 7 月
我知道这种方法不存在:) 但也许还有其他东西可以实现该输出?或者我需要为此创建自己的方法?
您可以使用给定日期添加或减去月份DateTime.AddMonths()
var lastMonth = DateTime.Now.AddMonths(-1);
var lastMonthAsString = lastMonth.ToString("Y");
其他时间间隔(如AddDays()
、AddSeconds()
或)也是如此AddYears()
。您可以在MSDN 的 DateTime 文档中找到所有可用的方法。
使用扩展方法...也许是类似的东西...
public static string LastMonth(this DateTime dt)
{
return DateTime.Now.AddMonths(-1).ToString("Y");
}
如果你想得到缩写的月份名称,你可以在下面的行中,
DateTime lastMonth = DateTime.Now.AddMonths(-1);
string Month = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(lastMonth.Month) ;