Cha*_*glu 2 c# datetime daycount
我想要实现的目标
我想要获得两个月(当前)和下个月的天数.实际上我使用该代码成功实现了这一点:
int monthDays = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
string[] days = Enumerable.Range(1, monthDays).Select(x => x.ToString("D2")).ToArray();
Run Code Online (Sandbox Code Playgroud)
基本上我使用了该函数DaysInMonth,然后我生成了一个List<int>代表那个月的日子.
问题
现在,我想要了解下个月的日子,但我有一些问题需要处理以下情况:
December 2018 (current)
January 2019 (next)
Run Code Online (Sandbox Code Playgroud)
我尝试了什么
正如你所看到的那样year已经改变了,所以我为下一个月的日子编写的代码将会失败:
var nextMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1);
monthDays = DateTime.DaysInMonth(DateTime.Now.Year, nextMonth.Month);
days = Enumerable.Range(1, monthDays).Select(x => x.ToString("D2")).ToArray();
Run Code Online (Sandbox Code Playgroud)
我怎样才能管理next本月的新年?
使用AddMonth()......添加一个月.最后,用于DaysInMonth获取指定月份和年份的天数.
public static void Main()
{
// 12 for december as example
var current = new DateTime(DateTime.Now.Year, 12, DateTime.Now.Day);
var next = current.AddMonths(1);
Console.WriteLine(DateTime.DaysInMonth(next.Year, next.Month));
}
Run Code Online (Sandbox Code Playgroud)
产量
31
Run Code Online (Sandbox Code Playgroud)
额外奖励:您可以阅读AddMonth()来源.
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |