首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTimeFormatInfo.AbbreviatedMonthNames顺序

DateTimeFormatInfo.AbbreviatedMonthNames顺序
EN

Stack Overflow用户
提问于 2015-07-14 11:48:57
回答 5查看 658关注 0票数 0

我有一个字符串列表,表示缩短的月份:Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec

如果我以随机顺序得到这些值,我如何按上面的顺序排序:Jan, Feb, Mar ...

代码语言:javascript
复制
List<string> months = new List<string>();
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-07-14 11:56:24

你为什么不使用这个订单列表:

代码语言:javascript
复制
List<string> months = Enumerable.Range(1, 12)
    .Select(m => DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(m))
    .ToList();

清单包括:

代码语言:javascript
复制
        [0] "Jan"   
        [1] "Feb"   
        [2] "Mar"   
        [3] "Apr"   
        [4] "May"   
        [5] "Jun"   
        [6] "Jul"   
        [7] "Aug"   
        [8] "Sep"   
        [9] "Oct"   
        [11] "Dec"  

如果要在当前语言中使用月份名称:

代码语言:javascript
复制
DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(m)

如果您现在有另一个包含月份名称的列表,并且这个列表包含重复的或不完整的列表,但是您想要自然地对这个列表进行排序,那么您可以使用IndexOf

代码语言:javascript
复制
monthList = monthList.OrderBy(s => months.IndexOf(s)).ToList();

下面是另一种方法,它不需要另一个列表进行比较,而是使用DateTime.ParseExact

代码语言:javascript
复制
monthList = monthList
    .OrderBy(s => DateTime.ParseExact(s, "MMM", DateTimeFormatInfo.InvariantInfo))
    .ToList();
票数 2
EN

Stack Overflow用户

发布于 2015-07-14 11:55:06

已经为你做了一件:)

DateTimeFormatInfo.MonthNames上看一下

公共string[] MonthNames { get;set;} 包含月份特定区域性全名的类型字符串的一维数组。在12个月的日历中,数组的第13个元素是一个空字符串。InvariantInfo的数组包含“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”和“。

编辑:我发现这个问题可能有用

票数 0
EN

Stack Overflow用户

发布于 2015-07-14 12:06:57

您可以使用DateTime.ParseExact方法来实现这一点。

代码语言:javascript
复制
            var months = new[] { "Jan", "Apr", "Sep", "Oct", "May", "Jun", "Jul", "Feb", "Mar", "Aug",  "Nov", "Dec" };
            var sortedMonthNames = months
            .Select(m => new {Name = m, Date = DateTime.ParseExact(m, "MMM", CultureInfo.InvariantCulture)})
            .OrderBy(m => m.Date.Month)
            .Select(m => m.Name)
            .ToArray();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31405746

复制
相关文章

相似问题

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