计算两个月之间的月份

时间:2013-07-26 13:44:58

标签: asp.net-mvc-3

在我的项目中,我将以字符串的形式保存所有日期,例如在数据库中说“07/26/2013”​​。但现在,出现了我需要检索两个日期然后检查月份的情况在这两个开始和结束月份之间。

例如:如果开始日期是2013年1月1日,而结束月份是05/01/2013,我应该得到像{“Jan”,“Feb”,“Mar”,“Apr”,“可以“}或{”01“,”02“,”03“,”04“,”05“}。我已经尝试过集合但收到的错误索引超出范围。任何帮助表示赞赏!

谢谢! 萨拉。

2 个答案:

答案 0 :(得分:1)

我想有一种更简单的方法可以用Linq做到这一点,但是一个简单的循环可以完成这项工作:

DateTime start = DateTime.Parse(startString);
DateTime end = DateTime.Parse(endString);
List<string> months = new List<string>();
while (start.Month <= end.Month)
{
    months.Add(start.ToString("MMM"));
    start = start.AddMonths(1);
}
string output = string.Join(",", months.ToArray());

有关通过ToString()格式化月份输出的信息,请参阅此MSDN页面:http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx

答案 1 :(得分:0)

这会占用您的一个日期并将其转换为正确的字符串。获得它的月份不是问题,我猜你错了,因为冲突中的日期与你的计算机上的字符串相互转换。

        string date1 = "05/01/2013";
        DateTime date = Convert.ToDateTime(date1, System.Globalization.CultureInfo.InvariantCulture);
        MessageBox.Show(date.ToString());