【问题标题】:How to get DateTime month in upper case?如何以大写形式获取 DateTime 月份?
【发布时间】:2012-01-02 06:39:21
【问题描述】:

我正在使用以下格式来格式化DateTime

DateTime CusDate = dateTimePicker1.Value;
string Date = CusDate.ToString("ddMMMyyyy");

我得到的格式是“Nov”不是大写的:

04Nov2011

但我想要大写字母“Nov”的格式,如下所示:

04NOV2011

这是因为我正在以编程方式从网站下载此格式的文件。

【问题讨论】:

标签: c# .net datetime datetime-format


【解决方案1】:

只需执行字符串 ToUpper():

    DateTime CusDate = dateTimePicker1.Value;
    string Date = CusDate.ToString("ddMMMyyyy").ToUpper();

【讨论】:

    【解决方案2】:

    完成 toString 之后...

    string date = date.ToUpper();
    

    【讨论】:

    • 我认为在.ToString("ddMMMyyyy") 调用之后添加.ToUpper() 调用更简单。但不确定是否存在任何实际的内部差异。
    • 编译器可能会优化它。
    • 确实如此。比较两者之间的 MSIL 可能会很有趣,但从所有意图和目的来看,这两种方式都很好。
    【解决方案3】:

    使用String.ToUpper() 方法:

    DateTime CusDate = dateTimePicker1.Value;
    string Date = CusDate.ToString("ddMMMyyyy").ToUpper();
    

    【讨论】:

      【解决方案4】:

      将字符串转换为大写(不会影响数字):

      DateTime CusDate = dateTimePicker1.Value;
      string Date = CusDate.ToString("ddMMMyyyy").ToUpper();
      

      【讨论】:

        【解决方案5】:
        // project reference to System.Globalization
        using System.Globalization;
        
        // example uses properties of an en-US DateTimeFormatInfo object
        DateTimeFormatInfo dtfi = CultureInfo.GetCultureInfo("en-US").DateTimeFormat;
        
        // date time string to format
        "2018-09-07 00:00:00".ToString("MMMM d, yyy", dtfi).ToUpper());
        
        // result
        SEPTEMBER 7, 2018
        

        【讨论】:

          猜你喜欢
          • 2011-05-23
          • 1970-01-01
          • 2017-10-04
          • 1970-01-01
          • 2010-10-13
          • 1970-01-01
          • 2011-10-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多