C# 获取当前年度的月份列表,但当前月份之前的月份
如何获取当前年度的月份列表,但该列表应仅包含当前月份之前的月份 就像现在是2013年3月一样,该列表应包含2013年1月和2013年2月。4月开始的时候应该是1月、2月、3月。也许:C# 获取当前年度的月份列表,但当前月份之前的月份,c#,asp.net,c#-4.0,.net-4.0,C#,Asp.net,C# 4.0,.net 4.0,如何获取当前年度的月份列表,但该列表应仅包含当前月份之前的月份 就像现在是2013年3月一样,该列表应包含2013年1月和2013年2月。4月开始的时候应该是1月、2月、3月。也许: var today = DateTime.Today; var beforeMonths = Enumerable.Range(1, 12) .Where(i => i < today.Month) .Select(i => new DateTime
var today = DateTime.Today;
var beforeMonths = Enumerable.Range(1, 12)
.Where(i => i < today.Month)
.Select(i => new DateTime(today.Year, i, 1))
.ToList();
var today=DateTime.today;
var beforeMonths=可枚举范围(1,12)
.Where(i=>inewdatetime(today.Year,i,1))
.ToList();
除了一月份返回空列表(可能是您想要的)的结果之外,您还可以使用:
Enumerable.Range(1,DateTime.Today.Month - 1)
.Select(i => new DateTime(DateTime.Today.Year,i,1));
或者,如果希望使用字符串表示,请使用
Enumerable.Range(1,DateTime.Today.Month - 1)
.Select(i => new DateTime(DateTime.Today.Year,i,1)
.ToString("MMM yyyy"));
这将给你一个月的时间
static void Main(string[] args)
{
var months =
Enumerable.Range(1, DateTime.Now.Month-1).Select(
p => new DateTime(DateTime.Now.Year, p, 1));
foreach(var month in months)
Console.WriteLine(month.ToString("MMM yyyy"));
Console.ReadLine();
}
试试这个:
var x = new[]
{"Jan", "Feb", "Mar",
"Apr", "May", "Jun",
"Jul", "Aug", "Sep",
"Oct", "Nov", "Dec"}.Take
(DateTime.Today.Month-1);
或者如果你想要一份具体的清单
var x = new[]
{"Jan", "Feb", "Mar",
"Apr", "May", "Jun",
"Jul", "Aug", "Sep",
"Oct", "Nov", "Dec"}.Take
(DateTime.Today.Month-1).ToList();
您可以通过以下方式获取当前月份:
DateTime.Today.Month;
三月份是三点
然后可以从0循环到DateTime.Today.Month,并递增月份
List<DateTime> months = new List<DateTime>();
for (int i = 0; i < DateTime.Now.Month; ++i)
{
months.Add(new DateTime(DateTime.Now.Year, i, 1));
}
列表月份=新列表();
对于(int i=0;i
谢谢!!!它确实给出了答案,但我试着用字符串形式来表示这个月。谢谢蒂姆的回答,但我试着用字符串形式。但是谢谢你的回答。
List<DateTime> months = new List<DateTime>();
for (int i = 0; i < DateTime.Now.Month; ++i)
{
months.Add(new DateTime(DateTime.Now.Year, i, 1));
}