TimeSpan.Parse Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit la représentation sous forme de chaîne d’un intervalle de temps en son TimeSpan équivalent.
Surcharges
| Nom | Description |
|---|---|
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Convertit la représentation d’étendue d’un intervalle de temps en son TimeSpan équivalent à l’aide des informations de format spécifiques à la culture spécifiées. |
| Parse(String, IFormatProvider) |
Convertit la représentation sous forme de chaîne d’un intervalle de temps en son TimeSpan équivalent à l’aide des informations de format spécifiques à la culture spécifiées. |
| Parse(String) |
Convertit la représentation sous forme de chaîne d’un intervalle de temps en son TimeSpan équivalent. |
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
Convertit la représentation d’étendue d’un intervalle de temps en son TimeSpan équivalent à l’aide des informations de format spécifiques à la culture spécifiées.
public static TimeSpan Parse(ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
public static TimeSpan Parse(ReadOnlySpan<char> input, IFormatProvider formatProvider = default);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing) As TimeSpan
Paramètres
- input
- ReadOnlySpan<Char>
Étendue contenant les caractères qui représentent l’intervalle de temps à convertir.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture.
Retours
Intervalle de temps qui correspond à input, tel que spécifié par formatProvider.
Implémente
S’applique à
Parse(String, IFormatProvider)
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
Convertit la représentation sous forme de chaîne d’un intervalle de temps en son TimeSpan équivalent à l’aide des informations de format spécifiques à la culture spécifiées.
public:
static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<TimeSpan>::Parse;
public static TimeSpan Parse(string input, IFormatProvider formatProvider);
public static TimeSpan Parse(string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As TimeSpan
Paramètres
- input
- String
Chaîne qui spécifie l’intervalle de temps à convertir.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture.
Retours
Intervalle de temps qui correspond à input, tel que spécifié par formatProvider.
Implémente
Exceptions
input a la valeur null.
input a un format non valide.
input représente un nombre inférieur à TimeSpan.MinValue ou supérieur à TimeSpan.MaxValue.
- ou -
Au moins un des composants jours, heures, minutes ou secondes input est en dehors de sa plage valide.
Exemples
L’exemple suivant définit un tableau d’objets CultureInfo et utilise chaque objet dans les appels à la Parse(String, IFormatProvider) méthode pour analyser les éléments d’un tableau de chaînes. L’exemple montre comment les conventions d’une culture spécifique influencent l’opération de mise en forme.
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class Example2
{
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
open System
open System.Globalization
open System.Text.RegularExpressions
let 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" |]
let cultures =
[| CultureInfo "en-US"
CultureInfo "ru-RU"
CultureInfo.InvariantCulture |]
let mutable header = $"""{"String",-17}"""
for culture in cultures do
header <- header +
if culture.Equals CultureInfo.InvariantCulture then
$"""{"Invariant",20}"""
else
$"{culture.Name,20}"
printfn $"{header}\m"
for value in values do
printf $"{value,-17}"
for culture in cultures do
try
let ts = TimeSpan.Parse(value, culture)
printf $"{ts,20:c}"
with
| :? FormatException ->
printf $"""{"Bad Format",20}"""
| :? OverflowException ->
printf $"""{"Overflow",20}"""
printfn ""
// 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
Dim values() As String = {"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"}
Dim cultures() As CultureInfo = {New CultureInfo("en-US"),
New CultureInfo("ru-RU"),
CultureInfo.InvariantCulture}
Dim header As String = String.Format("{0,-17}", "String")
For Each culture As CultureInfo In cultures
header += If(culture.Equals(CultureInfo.InvariantCulture),
String.Format("{0,20}", "Invariant"),
String.Format("{0,20}", culture.Name))
Next
Console.WriteLine(header)
Console.WriteLine()
For Each value As String In values
Console.Write("{0,-17}", value)
For Each culture As CultureInfo In cultures
Try
Dim ts As TimeSpan = TimeSpan.Parse(value, culture)
Console.Write("{0,20}", ts.ToString("c"))
Catch e As FormatException
Console.Write("{0,20}", "Bad Format")
Catch e As OverflowException
Console.Write("{0,20}", "Overflow")
End Try
Next
Console.WriteLine()
Next
' 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
Remarques
Cette méthode tente d’analyser input en utilisant chacun des formats spécifiques à la culture pour la culture spécifiée par formatProvider.
Le paramètre formatProvider est une IFormatProvider implémentation qui fournit des informations spécifiques à la culture sur le format de la chaîne retournée. Le formatProvider paramètre peut être l’un des éléments suivants :
- Objet CultureInfo qui représente la culture dont les conventions de mise en forme doivent être reflétées dans la chaîne retournée. L’objet DateTimeFormatInfo retourné par la CultureInfo.DateTimeFormat propriété définit la mise en forme de la chaîne retournée.
- Objet DateTimeFormatInfo qui définit la mise en forme de la chaîne retournée.
- Objet personnalisé qui implémente l’interface IFormatProvider . Sa IFormatProvider.GetFormat méthode retourne un DateTimeFormatInfo objet qui fournit des informations de mise en forme.
Si formatProvidernull est le cas, l’objet DateTimeFormatInfo associé à la culture actuelle est utilisé.
La chaîne d’entrée des Parse méthodes contient une spécification d’intervalle de temps dans le formulaire :
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Les éléments entre crochets ([ et ]) sont facultatifs. Une sélection de la liste des alternatives placées entre accolades ({ et }) et séparées par des barres verticales (|) est requise. Le tableau suivant décrit chaque élément.
| Élément | Description |
|---|---|
| Ws | Espace blanc facultatif. |
| - | Un signe moins facultatif, qui indique que TimeSpan est négatif. |
| d | Jours, allant de 0 à 10675199. |
| . | Symbole sensible à la culture qui sépare les jours des heures. Le format invariant utilise un caractère de point (« . »). |
| Hh | Heures, de 0 à 23. |
| : | Symbole de séparation temporelle adapté à la culture. Le format invariant utilise un caractère deux-points (« : »). |
| mm | Minutes, allant de 0 à 59. |
| ss | Secondes facultatives, allant de 0 à 59. |
| . | Symbole sensible à la culture qui sépare les secondes des fractions d’une seconde. Le format invariant utilise un caractère de point (« . »). |
| Ff | Fractions de seconde facultatives, composées d’un à sept chiffres décimaux. |
Si la chaîne d’entrée n’est pas une valeur de jour uniquement, elle doit inclure une heure et un composant minutes ; d’autres composants sont facultatifs. S’ils sont présents, les valeurs de chaque composant de temps doivent se trouver dans une plage spécifiée. Par exemple, la valeur de hh, le composant heures, doit être comprise entre 0 et 23. Pour cette raison, le passage de « 23:00:00 » à la Parse méthode retourne un intervalle de temps de 23 heures. En revanche, transmettre « 24:00:00 » retourne un intervalle de temps de 24 jours. Étant donné que « 24 » est en dehors de la plage du composant heures, il est interprété comme le composant jours.
Les composants de la chaîne d’entrée doivent spécifier collectivement un intervalle de temps supérieur ou égal à TimeSpan.MinValue et inférieur ou égal à TimeSpan.MaxValue.
La méthode Parse(String) tente d’analyser la chaîne d’entrée à l’aide de chacun des formats spécifiques à la culture actuelle.
S’applique à
Parse(String)
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
- Source:
- TimeSpan.cs
Convertit la représentation sous forme de chaîne d’un intervalle de temps en son TimeSpan équivalent.
public:
static TimeSpan Parse(System::String ^ s);
public static TimeSpan Parse(string s);
static member Parse : string -> TimeSpan
Public Shared Function Parse (s As String) As TimeSpan
Paramètres
- s
- String
Chaîne qui spécifie l’intervalle de temps à convertir.
Retours
Intervalle de temps correspondant à s.
Exceptions
s a la valeur null.
s a un format non valide.
s représente un nombre inférieur à TimeSpan.MinValue ou supérieur à TimeSpan.MaxValue.
- ou -
Au moins un des composants jours, heures, minutes ou secondes est en dehors de sa plage valide.
Exemples
L’exemple suivant utilise la Parse méthode pour convertir chaque élément d’un tableau de chaînes en TimeSpan valeur. Il modifie la culture actuelle du système en Croate - Croatie ( »hr-HR« ) et anglais - États-Unis ( »en-US« ) pour illustrer comment la culture système actuelle affecte l’opération d’analyse.
using System;
using System.Globalization;
using System.Threading;
public class Example1
{
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
open System
open System.Globalization
open System.Threading
let 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" |]
let cultureNames = [| "hr-HR"; "en-US" |]
// Change the current culture.
for cultureName in cultureNames do
Thread.CurrentThread.CurrentCulture <- CultureInfo cultureName
printfn $"Current Culture: {Thread.CurrentThread.CurrentCulture.Name}"
for value in values do
try
let ts = TimeSpan.Parse value
printfn $"{value} --> {ts:c}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
printfn ""
// 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
Dim values() As String = {"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"}
Dim cultureNames() As String = {"hr-HR", "en-US"}
' Change the current culture.
For Each cultureName As String In cultureNames
Thread.CurrentThread.CurrentCulture = New CultureInfo(cultureName)
Console.WriteLine("Current Culture: {0}",
Thread.CurrentThread.CurrentCulture.Name)
For Each value As String In values
Try
Dim ts As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, ts.ToString("c"))
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
Console.WriteLine()
Next
' 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
Remarques
La chaîne d’entrée des Parse méthodes contient une spécification d’intervalle de temps dans le formulaire :
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Les éléments entre crochets ([ et ]) sont facultatifs. Une sélection de la liste des alternatives placées entre accolades ({ et }) et séparées par des barres verticales (|) est requise. Le tableau suivant décrit chaque élément.
| Élément | Description |
|---|---|
| Ws | Espace blanc facultatif. |
| - | Un signe moins facultatif, qui indique que TimeSpan est négatif. |
| d | Jours, allant de 0 à 10675199. |
| . | Symbole sensible à la culture qui sépare les jours des heures. Le format invariant utilise un caractère de point (« . »). |
| Hh | Heures, de 0 à 23. |
| : | Symbole de séparation temporelle adapté à la culture. Le format invariant utilise un caractère deux-points (« : »). |
| mm | Minutes, allant de 0 à 59. |
| ss | Secondes facultatives, allant de 0 à 59. |
| . | Symbole sensible à la culture qui sépare les secondes des fractions d’une seconde. Le format invariant utilise un caractère de point (« . »). |
| Ff | Fractions de seconde facultatives, composées d’un à sept chiffres décimaux. |
Si la chaîne d’entrée n’est pas une valeur de jour uniquement, elle doit inclure une heure et un composant minutes ; d’autres composants sont facultatifs. S’ils sont présents, les valeurs de chaque composant de temps doivent se trouver dans une plage spécifiée. Par exemple, la valeur de hh, le composant heures, doit être comprise entre 0 et 23. Pour cette raison, le passage de « 23:00:00 » à la Parse méthode retourne un intervalle de temps de 23 heures. En revanche, transmettre « 24:00:00 » retourne un intervalle de temps de 24 jours. Étant donné que « 24 » est en dehors de la plage du composant heures, il est interprété comme le composant jours.
Les composants de la chaîne d’entrée doivent spécifier collectivement un intervalle de temps supérieur ou égal à TimeSpan.MinValue et inférieur ou égal à TimeSpan.MaxValue.
La méthode Parse(String) tente d’analyser la chaîne d’entrée à l’aide de chacun des formats spécifiques à la culture actuelle.