有没有一种方法可以在C#中获取上个月的名称和年份
本文关键字:上个月 获取 一种 方法 有没有 | 更新日期: 2023-09-27 18:25:54
DateTime.Now.ToString("Y")
返回我:2013年8月
有没有一种简单的方法可以在上个月以相同的格式获得?
类似于:DateTime.LastMonth.ToString("Y")
,输出将是:2013年7月
我知道这种方法不存在:)但也许还有其他方法可以实现这种输出?或者我需要为此创建自己的方法?
为什么不使用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) ;