biz
public static IEnumerable<Tuple<string, int>> MonthsBetween(
DateTime startDate,
DateTime endDate)
{
DateTime iterator;
DateTime limit;
if (endDate > startDate)
{
iterator = new DateTime(startDate.Year, startDate.Month, 1);
limit = endDate;
}
else
{
iterator = new DateTime(endDate.Year, endDate.Month, 1);
limit = startDate;
}
var dateTimeFormat = CultureInfo.CurrentCulture.DateTimeFormat;
while (iterator <= limit)
{
yield return Tuple.Create(
dateTimeFormat.GetMonthName(iterator.Month),
iterator.Year);
iterator = iterator.AddMonths(1);
}
}
gitmek Ve belli ki sonuç
{
{ "January", 2011 },
{ "February", 2011 },
{ "March", 2011 },
{ "April", 2011 },
{ "May", 2011 },
{ "June", 2011 },
{ "July", 2011 },
{ "August", 2011 },
{ "September", 2011 },
{ "October", 2011 },
{ "November", 2011 },
}
gibi bir şey Kültürünüzde bağımlı olmaktan ay adlarını olmalıdır bu
var startDate = DateTime.ParseExact("01/01/2011", "MM/dd/yyyy");
var endDate = DateTime.ParseExact("11/30/2011", "MM/dd/yyyy");
var months = MonthsBetween(startDate, endDate);
gibi diyoruz ki Sanırım, tam olarak istediğin şey, değil mi?
Bu, ev ödevi sorusu gibi görünüyor. Fikir şu ki bu işi kendiniz için yapıyorsunuz. Çözdüğünüz herhangi bir sorunla ilgili herhangi bir sorununuz varsa, size yardımcı olmaktan memnuniyet duyarız. –
Kopyala: http://stackoverflow.com/questions/1525990/difference-in-months – h1ghfive
@ h1ghfive - hayır, bu bir kopyanın kopyası değil. – PHeiberg