1. 程式人生 > >TimeSpan格式化字符串格式(摘)

TimeSpan格式化字符串格式(摘)

ocs col 百度 block .html dem dig versions href

原文: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"

TimeSpan格式化字符串格式(摘)