有没有一种方法可以在C#中获取上个月的名称和年份

本文关键字:上个月 获取 一种 方法 有没有 | 更新日期: 2023-09-27 18:25:54

DateTime.Now.ToString("Y")返回我:2013年8月

有没有一种简单的方法可以在上个月以相同的格式获得?

类似于:DateTime.LastMonth.ToString("Y"),输出将是:2013年7月

我知道这种方法不存在:)但也许还有其他方法可以实现这种输出?或者我需要为此创建自己的方法?

有没有一种方法可以在C#中获取上个月的名称和年份

为什么不使用DateTime.AddMonths

例如:

var lastMonth = DateTime.Now.AddMonths(-1).ToString("Y");`

您可以使用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)    ;