首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在UmAlQuraCalendar中计算指定日期范围内的月份列表

问如何在UmAlQuraCalendar中计算指定日期范围内的月份列表
EN

Stack Overflow用户
提问于 2015-09-21 15:54:44
回答 1查看 113关注 0票数 0

我想计算指定日期范围内的月份列表。

例如:

代码语言:javascript
复制
DateTime StartDate = 24 - 11 - 2014;
DateTime EndDate = 24 - 11 - 2016;

我想用月份的名称来计算开始日期和结束日期之间的所有月份。

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 16:50:41

下面是一个执行所需操作的静态函数:

代码语言:javascript
复制
    public static Dictionary<int, string> 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;
        var result = new Dictionary<int, string>();
        while (iterator <= limit)
        {
            if (!result.Keys.Contains(iterator.Month))
                result.Add(iterator.Month, dateTimeFormat.GetMonthName(iterator.Month));
            iterator = iterator.AddMonths(1);
        }
        return result;
    }

你可以这样使用它:

代码语言:javascript
复制
        DateTime startDate = new DateTime(2014, 11, 24);
        DateTime endDate = new DateTime(2016, 11, 24);

        var list = Program.MonthsBetween(startDate, endDate);

根据程序的CultureInfo.CurrentCulture,list变量包含带有月份、int值和名称的字典。

我从this answer获得了这个函数,并对其进行了稍微修改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32690033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档