首页 > 解决方案 > 是否可以将 TimeSpan.TryParseExact 用于数百分钟的时间(格式〜“mmm:ss”)?

问题描述

与其编写几行来手动解析时间,除以 60,然后将所有内容放在一起,是否有一种格式可以让 TimeSpan.[Try]ParseExact 读出诸如“123:45”之类的时间?

以下代码表明当格式字符串为 @"mm:ss" 时解析失败,但我也尝试过 @"m:ss" 和 @"mmm:ss" 无济于事。

using System;
using System.Globalization;
                    
public class Program
{
    public static void Main()
    {
        var culture = default(CultureInfo);
        var timeString = "123:45";
        if (TimeSpan.TryParseExact(timeString, @"mm\:ss", culture, TimeSpanStyles.None, out var time))
        {
            Console.WriteLine($"{time.Hours}:{time.Minutes}:{time.Seconds}");
        }
        else
        {
            Console.WriteLine("Could not parse");
        }
    }
}

标签: c#parsingtimespanformat-string

解决方案


推荐阅读