如何将字符串转换为时间字符串C#

Posted

技术标签:

【中文标题】如何将字符串转换为时间字符串C#【英文标题】:How to convert string to time string 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 值问题被多次询问。显然你已经看了很多,但没有任何帮助 - 因此将所有研究添加到问题中将有助于为你提供你尚未尝试和拒绝的答案,从而避免你写大量“你为什么认为我没有尝试过” " 备注。 【参考方案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

【讨论】:

以上是关于如何将字符串转换为时间字符串C#的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串转换为时间,使其具有时区意识,并在 Python 中转换时区?

使用 PySpark 将日期和时间字符串转换为时间戳时如何保留毫秒?

如何将字符串转换为时间并将其插入 MySQL

如何将日期和时间转换为时间戳

Pandas:如何将数据框列中的“时间戳”值从对象/字符串转换为时间戳?

.net字符串转换为时间戳函数