Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo TimeSpan.Parse (String, IFormatProvider)

 

Data di pubblicazione: ottobre 2016

Converte una rappresentazione di stringa di un intervallo di tempo nell'equivalente TimeSpan usando le informazioni sul formato specifiche delle impostazioni cultura indicate.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public static TimeSpan Parse(
	string input,
	IFormatProvider formatProvider
)

Parametri

input
Type: System.String

Stringa che specifica l'intervallo di tempo da convertire.

formatProvider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.

Valore restituito

Type: System.TimeSpan

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

Exception Condition
ArgumentNullException

input è null.

FormatException

Il formato di input non è valido.

OverflowException

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

-oppure-

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

Il input parametro contiene una specifica di intervallo di tempo nel formato:

[ws][-]{ d | [d.] hh:mm[:ss[. ff]] }[ws]

Elementi delle parentesi quadre ([e]) sono facoltativo. una selezione dall'elenco delle alternative racchiuse tra parentesi graffe ({e}) e separati da barre verticali (|) è obbligatorio. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

Spazio vuoto facoltativo.

-

Un segno meno facoltativo, che indica un valore negativo TimeSpan.

d

Giorni compresi tra 0 e 10675199.

.

Simbolo delle impostazioni cultura che separa i giorni dalle ore. Il valore predefinito è un punto (".") .

hh

Ore, compreso tra 0 e 23.

:

Il simbolo di separatore di ora dipendenti dalle impostazioni cultura.

mm

Minuti, compreso tra 0 e 59.

ss

Parametro facoltativi secondi, compreso tra 0 e 59.

.

Simbolo delle impostazioni cultura che separa i secondi da frazioni di secondo. Il valore predefinito è un punto (".") .

ff

Parametro facoltativi frazioni di secondo, costituito da uno a sette cifre.

I componenti di input collettivamente deve specificare un intervallo di tempo che è maggiore o uguale a TimeSpan.MinValue e minore o uguale a TimeSpan.MaxValue.

Il Parse(String) metodo tenta di analizzare input utilizzando tutte dei formati specifici delle impostazioni cultura delle impostazioni cultura specificate da formatProvider.

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

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

Note per i chiamanti:

Quando un componente dell'intervallo di tempo nella stringa da analizzare contiene più di sette cifre, operazioni di analisi nel .NET Framework 3.5 e versioni precedenti potrebbero comportarsi in modo diverso dalle operazioni di analisi nel .NET Framework 4. In alcuni casi, operazioni di analisi che abbia esito positivo nel .NET Framework 3.5 e versioni precedenti potrebbero avere esito negativo e generare un OverflowException nel .NET Framework 4. In altri casi, l'analisi di operazioni che generano un FormatException nel .NET Framework 3.5 e versioni precedenti potrebbero avere esito negativo e generare un OverflowException nel .NET Framework 4. L'esempio seguente illustra entrambi gli scenari.

string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }   
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow

L'esempio seguente definisce una matrice di CultureInfo degli oggetti e utilizza ciascun oggetto nelle chiamate al Parse(String, IFormatProvider) metodo per analizzare gli elementi in una matrice di stringhe. Nell'esempio viene illustrata l'operazione di formattazione di influenza le convenzioni delle impostazioni cultura specifiche.

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

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: