Leggi in inglese

Condividi tramite


TimeSpan.Parse Metodo

Definizione

Converte la rappresentazione di stringa di un intervallo di tempo nel relativo TimeSpan equivalente.

Overload

Parse(String, IFormatProvider)

Converte la rappresentazione di stringa di un intervallo di tempo nel relativo TimeSpan equivalente usando le informazioni di formato specifiche delle impostazioni cultura specificate.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Converte la rappresentazione di intervallo di un intervallo di tempo nel relativo TimeSpan equivalente usando le informazioni sul formato specifiche delle impostazioni cultura specificate.

Parse(String)

Converte la rappresentazione di stringa di un intervallo di tempo nel relativo TimeSpan equivalente.

Parse(String, IFormatProvider)

Origine:
TimeSpan.cs
Origine:
TimeSpan.cs
Origine:
TimeSpan.cs

Converte la rappresentazione di stringa di un intervallo di tempo nel relativo TimeSpan equivalente usando le informazioni di formato specifiche delle impostazioni cultura specificate.

C#
public static TimeSpan Parse (string input, IFormatProvider formatProvider);
C#
public static TimeSpan Parse (string input, IFormatProvider? formatProvider);

Parametri

input
String

Stringa che specifica l'intervallo di tempo da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.

Restituisce

Intervallo di tempo che corrisponde a input, come specificato da formatProvider.

Implementazioni

Eccezioni

input è null.

input ha un formato non valido.

input rappresenta un numero minore di TimeSpan.MinValue o maggiore di TimeSpan.MaxValue.

-o-

Almeno uno dei componenti giorni, ore, minuti o secondi in input non rientra nell'intervallo valido.

Esempio

L'esempio seguente definisce una matrice di oggetti CultureInfo e usa ogni oggetto nelle chiamate al metodo Parse(String, IFormatProvider) per analizzare gli elementi in una matrice di stringhe. Nell'esempio viene illustrato come le convenzioni di impostazioni cultura specifiche influenzano l'operazione di formattazione.

C#
using System;
using System.Globalization;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] values = { "6", "6:12", "6:12:14", "6:12:14:45", 
                          "6.12:14:45", "6:12:14:45.3448", 
                          "6:12:14:45,3448", "6:34:14:45" };
      CultureInfo[] cultures = { new CultureInfo("en-US"), 
                                 new CultureInfo("ru-RU"),
                                 CultureInfo.InvariantCulture };
      
      string header = String.Format("{0,-17}", "String");
      foreach (CultureInfo culture in cultures)
         header += culture.Equals(CultureInfo.InvariantCulture) ? 
                      String.Format("{0,20}", "Invariant") :
                      String.Format("{0,20}", culture.Name);
      Console.WriteLine(header);
      Console.WriteLine();
      
      foreach (string value in values)
      {
         Console.Write("{0,-17}", value);
         foreach (CultureInfo culture in cultures)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value, culture);
               Console.Write("{0,20}", ts.ToString("c"));
            }
            catch (FormatException) {
               Console.Write("{0,20}", "Bad Format");
            }   
            catch (OverflowException) {
               Console.Write("{0,20}", "Overflow");
            }      
         }
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    String                          en-US               ru-RU           Invariant
//    
//    6                          6.00:00:00          6.00:00:00          6.00:00:00
//    6:12                         06:12:00            06:12:00            06:12:00
//    6:12:14                      06:12:14            06:12:14            06:12:14
//    6:12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6.12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6:12:14:45.3448    6.12:14:45.3448000          Bad Format  6.12:14:45.3448000
//    6:12:14:45,3448            Bad Format  6.12:14:45.3448000          Bad Format
//    6:34:14:45                   Overflow            Overflow            Overflow

Commenti

Questo metodo tenta di analizzare input usando ognuno dei formati specifici delle impostazioni cultura per le impostazioni cultura specificate da formatProvider.

Il parametro formatProvider è un'implementazione IFormatProvider che fornisce informazioni specifiche delle impostazioni cultura sul formato della stringa restituita. Il parametro formatProvider può essere uno dei seguenti:

Se formatProvider è null, viene utilizzato l'oggetto DateTimeFormatInfo associato alle impostazioni cultura correnti.

Per altre informazioni su questa API, vedere osservazioni supplementari sull'API per System.TimeSpan.Parse.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(ReadOnlySpan<Char>, IFormatProvider)

Origine:
TimeSpan.cs
Origine:
TimeSpan.cs
Origine:
TimeSpan.cs

Converte la rappresentazione di intervallo di un intervallo di tempo nel relativo TimeSpan equivalente usando le informazioni sul formato specifiche delle impostazioni cultura specificate.

C#
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
C#
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default);

Parametri

input
ReadOnlySpan<Char>

Intervallo contenente i caratteri che rappresentano l'intervallo di tempo da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.

Restituisce

Intervallo di tempo che corrisponde a input, come specificato da formatProvider.

Implementazioni

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Parse(String)

Origine:
TimeSpan.cs
Origine:
TimeSpan.cs
Origine:
TimeSpan.cs

Converte la rappresentazione di stringa di un intervallo di tempo nel relativo TimeSpan equivalente.

C#
public static TimeSpan Parse (string s);

Parametri

s
String

Stringa che specifica l'intervallo di tempo da convertire.

Restituisce

Intervallo di tempo che corrisponde a s.

Eccezioni

s ha un formato non valido.

s rappresenta un numero minore di TimeSpan.MinValue o maggiore di TimeSpan.MaxValue.

-o-

Almeno uno dei componenti giorni, ore, minuti o secondi non rientra nell'intervallo valido.

Esempio

Nell'esempio seguente viene utilizzato il metodo Parse per convertire ogni elemento in una matrice di stringhe in un valore TimeSpan. Modifica le impostazioni cultura correnti del sistema in croato - Croazia ("hr-HR") e inglese - Stati Uniti ("en-US") per illustrare come le impostazioni cultura di sistema correnti influiscono sull'operazione di analisi.

C#
using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      string[] values = { "6", "6:12", "6:12:14", "6:12:14:45", 
                          "6.12:14:45", "6:12:14:45.3448", 
                          "6:12:14:45,3448", "6:34:14:45" };
      string[] cultureNames = { "hr-HR", "en-US"};
      
      // Change the current culture.
      foreach (string cultureName in cultureNames)
      {
         Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name);
         foreach (string value in values)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value);
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"));
            }
            catch (FormatException) {
               Console.WriteLine("{0}: Bad Format", value);
            }   
            catch (OverflowException) {
               Console.WriteLine("{0}: Overflow", value);
            }
         } 
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow

Commenti

Per altre informazioni su questa API, vedere osservazioni supplementari sull'API per TimeSpan.Parse.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0