• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

C# TimeSpan 用法

武飞扬头像
抽象带代码
帮助1

将字符串转换为 TimeSpan 类型。

  1.  
    string str = "12:34:56";
  2.  
    TimeSpan ts1 = TimeSpan.Parse(str); // 当字符串格式不正确时,会抛出异常
  3.  
     
  4.  
    Console.WriteLine(ts1);
  5.  
    // 输出:12:34:56
  6.  
     
  7.  
    string str2 = "1.02:03:04.567"; // 可以包含天数部分
  8.  
    TimeSpan ts2 = TimeSpan.Parse(str2);
  9.  
     
  10.  
    Console.WriteLine(ts2);
  11.  
    // 输出:1.02:03:04.5670000

        我们使用 TimeSpan.Parse 方法将字符串转换为 TimeSpan 类型。这个方法要求输入字符串的格式必须为 [-][d.]hh:mm:ss[.fffffff],其中方括号表示可选项。当字符串格式不正确时,会抛出异常。

        除了 Parse 方法,还有 TryParse 方法可以用于将字符串转换为 TimeSpan 类型,它与 Parse 方法的差异在于,如果字符串格式不正确,TryParse 不会抛出异常,而是将转换结果设置为 TimeSpan.Zero,并返回一个布尔值,表示转换是否成功。下面是 TimeSpan.TryParse 的示例:

  1.  
    string str = "12:34:56";
  2.  
    if (TimeSpan.TryParse(str, out TimeSpan ts))
  3.  
    {
  4.  
    Console.WriteLine(ts);
  5.  
    }
  6.  
    else
  7.  
    {
  8.  
    Console.WriteLine("字符串格式不正确。");
  9.  
    }
  10.  
     
  11.  
    string str2 = "1.02:03:04.567"; // 可以包含天数部分
  12.  
    if (TimeSpan.TryParse(str2, out TimeSpan ts2))
  13.  
    {
  14.  
    Console.WriteLine(ts2);
  15.  
    }
  16.  
    else
  17.  
    {
  18.  
    Console.WriteLine("字符串格式不正确。");
  19.  
    }
学新通

        在上面的代码中,我们使用 TimeSpan.TryParse 方法将字符串转换为 TimeSpan 类型,并判断转换是否成功。需要注意的是,TryParse 方法的参数 out TimeSpan ts 表示转换后的 TimeSpan 对象,需要定义在方法外部。

timespan比较大小

        使用 TimeSpan 的 CompareTo 方法进行两个时间间隔的比较。该方法将返回一个整数,用于表示两个时间间隔的大小。

TimeSpan 与 0 进行比较的示例:

  1.  
    TimeSpan ts1 = TimeSpan.Parse("00:00:10");
  2.  
    TimeSpan ts2 = TimeSpan.Parse("00:00:20");
  3.  
     
  4.  
    bool result1 = (ts1.CompareTo(TimeSpan.Zero) > 0); // true
  5.  
    bool result2 = (ts2.CompareTo(TimeSpan.Zero) > 0); // true
  6.  
     
  7.  
    Console.WriteLine(result1);
  8.  
    Console.WriteLine(result2);

        使用 TimeSpan.Parse 方法将字符串转换为 TimeSpan 类型;然后,使用 TimeSpan.CompareTo 方法将这个 TimeSpan 对象与 TimeSpan.Zero 进行比较,得到一个整数值,如果这个值大于 0,则表示这个 TimeSpan 对象大于 TimeSpan.Zero,即这个 TimeSpan 对象表示的时间间隔大于 0。最后,将比较的结果赋值给 bool 类型的变量,用于表示原始问题的答案。

        需要注意的是,在使用 CompareTo 方法进行比较时,需要注意比较的方向,因为它是有顺序的,例如 ts1.CompareTo(ts2) 和 ts2.CompareTo(ts1) 的结果是不一样的。此外,也可以直接使用 ><>=<= 等运算符进行比较,不过其底层实现仍然是调用的 CompareTo 方法。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiabake
系列文章
更多 icon
同类精品
更多 icon
继续加载