How Do I Produce a Date format like “1st November” in c#

后端 未结 6 940
醉梦人生
醉梦人生 2020-12-06 05:31

How can i get below mentions date format in c#.

  • For 1-Nov-2010 it should be display as : 1st November

  • For 30-Nov-2010 it should be display a

6条回答
  •  执笔经年
    2020-12-06 06:17

    The following code is based on that answer that generates an ordinal from an integer:

    public static string ToOrdinal(int number)
    {
        switch(number % 100)
        {
            case 11:
            case 12:
            case 13:
                return number.ToString() + "th";
        }
    
        switch(number % 10)
        {
            case 1:
                return number.ToString() + "st";
            case 2:
                return number.ToString() + "nd";
            case 3:
                return number.ToString() + "rd";
            default:
                return number.ToString() + "th";
        }
    }
    

    Than you can generate your output string:

    public static string GenerateDateString(DateTime value)
    {
        return string.Format(
            "{0} {1:MMMM}",
            ToOrdinal(value.Day),
            value);            
    }
    

提交回复
热议问题