【问题标题】:How to format a DateTime like "Oct. 10, 2008 10:43am CST" in C#如何在 C# 中格式化日期时间,如“2008 年 10 月 10 日上午 10:43 CST”
【发布时间】:2009-01-15 21:56:57
【问题描述】:

有没有一种简洁的方法可以将 DateTime 值格式化为“CST 2008 年 10 月 10 日上午 10:43”。

我需要正确的缩写和小写的“am”(或“pm”)等。

我自己做过,但很丑,所以我正在寻找不同的方法。

谢谢。

【问题讨论】:

    标签: c# datetime formatting


    【解决方案1】:

    由于“tt”格式字符串说明符只输出大写,您必须自己修改。此外,DateTimes 不存储时区的名称,只存储一个偏移量。

    DateTime dt = DateTime.Now;
    string ampm = dt.ToString("tt").ToLower();
    string output = string.Format("{0:MMM. d, yyyy h:mm}{1}", dt, ampm);
    

    【讨论】:

    • 备忘单不再可用
    【解决方案2】:
    DateTimeObject.ToString("MMM. dd, yyyy hh:mmtt");
    

    不确定 CST。

    如果您想要更多组合,请查看此链接:

    http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

    【讨论】:

      【解决方案3】:

      假设您的服务器配置为 CST:

      string format = dateTime.ToString("mmm. dd, YYYY HH:MM tt ")
          .Replace(" AM ", "am")
          .Replace(" PM ", "pm") +
          " CST";
      

      【讨论】:

      • 关闭,但上午或下午之前没有空格
      【解决方案4】:

      这行得通吗?

      myDateTime.ToString("MMM. d, yyyy hh:mmtt \C\S\T");
      

      【讨论】:

        猜你喜欢
        • 2016-01-08
        • 2014-12-19
        • 1970-01-01
        • 2013-10-25
        • 1970-01-01
        • 2019-06-15
        • 2016-01-24
        • 2019-09-08
        • 2019-11-23
        相关资源
        最近更新 更多