首页 > 解决方案 > 如何用 ToString() 格式化 Duration?

问题描述

尝试使用 ToString() 格式化持续时间时,我收到以下消息'No Overload for method 'ToString()' takes 1 arguments。我在这里这里找到了以前的线程;但是,这些线程用于可为空的 DateTime 并且都建议使用myDatetime.Value.ToString(),我在下面的示例中尝试过,但仍然收到相同的消息。

    public System.Windows.Duration? MyDuration { get; set; }

    public string MyDurationString
    {
        get => (MyDuration.HasValue) ? MyDuration.Value.ToString(@"hh\:mm\:ss.fff") : null;
        set => MyDuration = string.IsNullOrEmpty(value) ?
                TimeSpan.Zero : TimeSpan.Parse(value);
    }

标签: c#datetimetostringduration

解决方案


我不知道这种类型,但似乎 WPFDuration没有ToString带参数的。但它有一个属性TimeSpan,你可以使用它:

get => MyDuration.HasTimeSpan ? MyDuration.TimeSpan.ToString("hh':'mm':'ss'.'fff") : null; 

推荐阅读