zoukankan      html  css  js  c++  java
  • TimeSpan格式化字符串格式(摘)

    一直在用DateTime, 却不常用TimeSpan , 今天突然用到了, 发现不知道咋做格式化...百度一下,找到了答案, 在这记录一下, 免得以后找花费时间

    以下内容摘抄自 Microsoft Docs  原文地址: https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/ee372287(v=vs.95)

    分别展示了ToString方法跟string.Format方法中的方法, 其中string.Format的用法可以在mvc的Html.TextBox的format参数中使用

    这里只记录下基本用法, 更多使用参考请移步上方链接.

    TimeSpan转字符串

    using System;
    
    public class Example
    {
       public static void Demo(System.Windows.Controls.TextBlock outputBlock)
       {
          TimeSpan duration = new TimeSpan(1, 12, 23, 62);
    
          string output = null;
          output = "Time of Travel: " + duration.ToString("%d") + " days";
          outputBlock.Text += output + Environment.NewLine;
          output = "Time of Travel: " + duration.ToString(@"dd.hh:mm:ss"); 
          outputBlock.Text += output + Environment.NewLine;
    
          outputBlock.Text += String.Format("Time of Travel: {0:%d} day(s)", 
                                            duration) + Environment.NewLine;
          outputBlock.Text += String.Format("Time of Travel: {0:dd\.hh\:mm\:ss} days", 
                                            duration) + Environment.NewLine;
       }
    }
    // The example displays the following output:
    //       Time of Travel: 1 days
    //       Time of Travel: 01.12:24:02
    //       Time of Travel: 1 day(s)
    //       Time of Travel: 01.12:24:02 days

    字符串转TimeSpan

    using System;
    
    public class Example
    {
       public static void Demo(System.Windows.Controls.TextBlock outputBlock)
       {
          string value = null;
          TimeSpan interval;
    
          value = "6";
          if (TimeSpan.TryParseExact(value, "%d", null, out interval))
             outputBlock.Text += String.Format("{0} --> {1}", value, 
                                               interval.ToString("c")) + Environment.NewLine;
          else
             outputBlock.Text += String.Format("Unable to parse '{0}'", value) + Environment.NewLine;
    
          value = "16:32.05";
          if (TimeSpan.TryParseExact(value, @"mm:ss.ff", null, out interval))
             outputBlock.Text += String.Format("{0} --> {1}", value, 
                                               interval.ToString("c")) + Environment.NewLine;
          else
             outputBlock.Text += String.Format("Unable to parse '{0}'", value) + Environment.NewLine;
    
          value= "12.035";
          if (TimeSpan.TryParseExact(value, "ss\.fff", null, out interval))
             outputBlock.Text += String.Format("{0} --> {1}", value, 
                                               interval.ToString("c")) + Environment.NewLine;
          else
             outputBlock.Text += String.Format("Unable to parse '{0}'", value) + Environment.NewLine;
       }
    }
    // The example displays the following output:
    //       6 --> 6.00:00:00
    //       16:32.05 --> 00:16:32.0500000
    //       12.035 --> 00:00:12.0350000

    参数表格

    The following table describes the custom date and time format specifiers.

     

    Format specifier

    Description

    Example

    "d", "%d"

    The number of whole days in the time interval.

    More information: The "d" Custom Format Specifier.

    new TimeSpan(6, 14, 32, 17, 685):

       %d --> "6"

       d.hh:mm --> "6.14:32"

    "dd"-"dddddddd"

    The number of whole days in the time interval, padded with leading zeros as needed.

    More information: The "dd"-"dddddddd" Custom Format Specifiers.

    new TimeSpan(6, 14, 32, 17, 685):

       ddd --> "006"

       dd.hh:mm --> "06.14:32"

    "h", "%h"

    The number of whole hours in the time interval that are not counted as part of days. Single-digit hours do not have a leading zero.

    More information: The "h" Custom Format Specifier.

    new TimeSpan(6, 14, 32, 17, 685):

       %h --> "14"

       hh:mm --> "14:32"

    "hh"

    The number of whole hours in the time interval that are not counted as part of days. Single-digit hours have a leading zero.

    More information: The "hh" Custom Format Specifier.

    new TimeSpan(6, 14, 32, 17, 685):

       hh --> "14"

    new TimeSpan(6, 8, 32, 17, 685):

       hh --> 08

    "m", "%m"

    The number of whole minutes in the time interval that are not included as part of hours or days. Single-digit minutes do not have a leading zero.

    More information: The "m" Custom Format Specifier.

    new TimeSpan(6, 14, 8, 17, 685):

       %m --> "8"

       h:m --> "14:8"

    "mm"

    The number of whole minutes in the time interval that are not included as part of hours or days. Single-digit minutes have a leading zero.

    More information: The "mm" Custom Format Specifier.

    new TimeSpan(6, 14, 8, 17, 685):

       mm --> "08"

    new TimeSpan(6, 8, 5, 17, 685):

       d.hh:mm:ss --> 6.08:05:17

    "s", "%s"

    The number of whole seconds in the time interval that are not included as part of hours, days, or minutes. Single-digit seconds do not have a leading zero.

    More information: The "s" Custom Format Specifier.

    TimeSpan.FromSeconds(12.965):

       %s --> 12

       s.fff --> 12.965

    "ss"

    The number of whole seconds in the time interval that are not included as part of hours, days, or minutes. Single-digit seconds have a leading zero.

    More information: The "ss" Custom Format Specifier.

    TimeSpan.FromSeconds(6.965):

       ss --> 06

       ss.fff --> 06.965

    "f", "%f"

    The tenths of a second in a time interval.

    More information: The "f" Custom Format Specifier.

    TimeSpan.FromSeconds(6.895):

       f --> 8

       ss.f --> 06.8

    "ff"

    The hundredths of a second in a time interval.

    More information: The "ff" Custom Format Specifier.

    TimeSpan.FromSeconds(6.895):

       ff --> 89

       ss.ff --> 06.89

    "fff"

    The milliseconds in a time interval.

    More information: The "fff" Custom Format Specifier.

    TimeSpan.FromSeconds(6.895):

       fff --> 895

       ss.fff --> 06.895

    "ffff"

    The ten-thousandths of a second in a time interval.

    More information: The "ffff" Custom Format Specifier.

    TimeSpan.Parse("0:0:6.8954321"):

       ffff --> 8954

       ss.ffff --> 06.8954

    "fffff"

    The hundred-thousandths of a second in a time interval.

    More information: The "fffff" Custom Format Specifier.

    TimeSpan.Parse("0:0:6.8954321"):

       fffff --> 89543

       ss.fffff --> 06.89543

    "ffffff"

    The millionths of a second in a time interval.

    More information: The "ffffff" Custom Format Specifier.

    TimeSpan.Parse("0:0:6.8954321"):

       ffffff --> 895432

       ss.ffffff --> 06.895432

    "fffffff"

    The ten-millionths of a second (or the fractional ticks) in a time interval.

    More information: The "fffffff" Custom Format Specifier.

    TimeSpan.Parse("0:0:6.8954321"):

       fffffff --> 8954321

       ss.fffffff --> 06.8954321

    "F", "%F"

    The tenths of a second in a time interval. Nothing is displayed if the digit is zero.

    More information: The "F" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.32"):

       %F: 3

    TimeSpan.Parse("0:0:3.091"):

       ss.F: 03.

    "FF"

    The hundredths of a second in a time interval. Any fractional trailing zeros or two zero digits are not included.

    More information: The "FF" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.329"):

       FF: 32

    TimeSpan.Parse("0:0:3.101"):

       ss.FF: 03.1

    "FFF"

    The milliseconds in a time interval. Any fractional trailing zeros are not included.

    More information:

    TimeSpan.Parse("00:00:06.3291"):

       FFF: 329

    TimeSpan.Parse("0:0:3.1009"):

       ss.FFF: 03.1

    "FFFF"

    The ten-thousandths of a second in a time interval. Any fractional trailing zeros are not included.

    More information: The "FFFF" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.32917"):

       FFFFF: 3291

    TimeSpan.Parse("0:0:3.10009"):

       ss.FFFF: 03.1

    "FFFFF"

    The hundred-thousandths of a second in a time interval. Any fractional trailing zeros are not included.

    More information: The "FFFFF" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.329179"):

       FFFFF: 32917

    TimeSpan.Parse("0:0:3.100009"):

       ss.FFFFF: 03.1

    "FFFFFF"

    The millionths of a second in a time interval. Any fractional trailing zeros are not displayed.

    More information: The "FFFFFF" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.3291791"):

       FFFFFF: 329179

    TimeSpan.Parse("0:0:3.1000009"):

       ss.FFFFFF: 03.1

    "FFFFFFF"

    The ten-millions of a second in a time interval. Any fractional trailing zeros or seven zeros are not displayed.

    More information: The "FFFFFFF" Custom Format Specifier.

    TimeSpan.Parse("00:00:06.3291791"):

       FFFFFF: 3291791

    TimeSpan.Parse("0:0:3.1900000"):

       ss.FFFFFF: 03.19

    'string'

    Literal string delimiter.

    More information: Other Characters.

    new TimeSpan(14, 32, 17):

       hh':'mm':'ss --> "14:32:17"

    The escape character.

    More information: Other Characters.

    new TimeSpan(14, 32, 17):

       hh:mm:ss --> "14:32:17"

    Any other character

    Any other unescaped character is interpreted as a custom format specifier.

    More Information: Other Characters.

    new TimeSpan(14, 32, 17):

       hh:mm:ss --> "14:32:17"

  • 相关阅读:
    BZOJ 1257 余数之和
    BZOJ 1251 序列终结者
    BZOJ 2716 [Violet 3]天使玩偶
    BZOJ 2648 SJY摆棋子
    HDU 1007 Quoit Design
    BZOJ 3504 危桥
    BZOJ 1877 晨跑
    玩转Web之SSH--Heibernate (一)---第一个demo
    网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
    2013-09-16 构建C1000K的服务器(1) – 基础
  • 原文地址:https://www.cnblogs.com/adinet/p/8841442.html
Copyright © 2011-2022 走看看