gpt4 book ai didi

c# - 在方法中获得拆分周以获取月份列表

转载 作者:太空狗 更新时间:2023-10-30 01:08:15 24 4
gpt4 key购买 nike

我正在使用此方法从我的数据中获取一周开始的列表。但是,在月底,一周可能会分为 2 个月但是我很难使用我的方法来检查我的方法中的分割周以获得月份

获取月份列表的方法

var monthlist = data.Select(x => new { wkdate =  x.WKENDstart }).OrderBy(y => y.wkdate).Select(m => new
{
monthname = m.wkdate.ToString("MMM yyyy", CultureInfo.CreateSpecificCulture("en-US"))
}).Distinct().ToList();

检查是否是分割周的方法

public static bool isSplitWeek(System.DateTime Enddate, System.DateTime Startdate)
{
bool isSameMonth = (Enddate.Month == Startdate.Month) ? true : false;

return !isSameMonth ? true : false;

}

我基本上是尝试在它说 x.WKENDstart 的地方使用 if,如果一周在一个月开始并在另一个月结束,这样我会得到两个月。

最佳答案

你似乎想多了这个方法:

public static bool isSplitWeek(System.DateTime Enddate, System.DateTime Startdate)
{
return Enddate.Month != Startdate.Month;
}


所以也许是这样的:

public static IList<string> TransformDates(DateTime start, DateTime end)
{
List<string> months = new List<string>
{
start.ToString("MMM yyyy",
CultureInfo.CreateSpecificCulture("en-US"))
};

if (isSplitWeek(start, end))
{
months.Add(end.ToString("MMM yyyy",
CultureInfo.CreateSpecificCulture("en-US")));
}

return months;
}

...

var monthlist = data
.Select(x => new
{
start = x.WKENDstart,
end = x.WKENDstart.AddDays(6)
})
.OrderBy(y => y.start )
.Select(m => new
{
monthname = TransformDates(m.start, m.end) // IList<string>
})
.Distinct()
.ToList();

关于c# - 在方法中获得拆分周以获取月份列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10029884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com