C#中与VB.NET DateAndTime.DateAdd等价的实现方法
VB.NET DateAdd 逻辑转C# 实现方案
C# 中DateTime类型原生提供了日期偏移的内置方法,不需要引用VB专用的DateAndTime类,和你原有VB代码逻辑完全等价的实现如下:
DateTime.Now.AddMonths(-1).ToString("MMM");
逻辑说明
- 日期计算部分:
DateTime.Now对应VB里的Now,取当前本地时间;AddMonths(-1)就是在当前时间基础上减去1个月,和DateAdd(DateInterval.Month, -1, Now)的计算规则完全一致,会自动处理跨年、月末日期的边界场景:- 若当前日期为1月,减1个月会自动返回上一年12月的对应日期
- 若当前为3月31日这类月末日期,减1个月会自动适配2月的最后一天,不会出现非法日期错误
- 格式输出部分:
ToString("MMM")和原有VB代码逻辑一致,默认跟随当前系统的区域文化输出对应语言的月份缩写。如果需要指定固定语言的月份缩写,可以传入对应文化配置,比如固定输出英文月份缩写的写法:
DateTime.Now.AddMonths(-1).ToString("MMM", System.Globalization.CultureInfo.GetCultureInfo("en-US"));
内容的提问来源于stack exchange,提问作者rabner casandra
相关产品推荐
相关产品推荐

