【问题标题】:How to convert string to time string C#如何将字符串转换为时间字符串C#
【发布时间】:2021-03-10 03:20:01
【问题描述】:

如何转换以下内容

字符串时间 = "2324"; 字符串时间 = "1024";

在第一种情况下,转换后的值应该是另一个字符串 "11:24 PM" 。 第二种情况应该是“10:24 AM”。

我试过 Date.ParseExact(Time,"hh:mm tt",CultureInfo.InvariantCulture) 当时间小于 12:00 PM 时,这解决了它。但是当它是“2324”时,当我实际需要 11:24 PM 时,我会得到 23:24 PM

【问题讨论】:

  • DateTime.ParseExact 使用格式"HHmm"
  • edit 提问以展示您已经对该主题所做的研究。这将使问题看起来更好,因为各种解析/格式 DateTime 值问题被多次询问。显然你已经看了很多,但没有任何帮助 - 因此将所有研究添加到问题中将有助于为你提供你尚未尝试和拒绝的答案,从而避免你写大量“你为什么认为我没有尝试过” " 备注。

标签: c# asp.net .net string


【解决方案1】:

方法期望时间总是 4 个字符

    static string ParseTime(string time)
    {
        if (int.TryParse(time.Substring(0, 2), out int hrs) && int.TryParse(time.Substring(2), out int min))
        {
            return new DateTime(2001, 1, 1, hrs, min, 0).ToString("hh:mm tt", CultureInfo.InvariantCulture);
        }
        // throw exception or return empty;
        return string.Empty;
    }

Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2012-08-04
    相关资源
    最近更新 更多