System.TimeSpan.Parse yöntemi
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
Yöntemlerin Parse giriş dizesi, formda bir zaman aralığı belirtimi içerir:
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Köşeli ayraç ([
ve ]
) içindeki öğeler isteğe bağlıdır. Küme ayraçları ({
ve ) içine alınmış ve }
dikey çubuklarla (|) ayrılmış alternatifler listesinden bir seçim yapılması gerekir. Aşağıdaki tablo her öğeyi açıklar.
Öğe | Açıklama |
---|---|
Ws | İsteğe bağlı beyaz boşluk. |
- | Negatif olduğunu gösteren isteğe bağlı eksi TimeSpanişareti. |
d | 0 ile 10675199 arasında değişen gün. |
. | Günleri saatlerden ayıran kültüre duyarlı bir simge. Sabit biçim bir nokta (".") karakteri kullanır. |
hh | 0-23 arasında saat. |
: | Kültüre duyarlı saat ayırıcı simgesi. Sabit biçim iki nokta üst üste (":") karakteri kullanır. |
mm | 0 ile 59 arasında dakika. |
ss | 0 İle 59 arasında değişen isteğe bağlı saniye. |
. | Saniyeleri saniye parçalarından ayıran bir kültüre duyarlı simge. Sabit biçim bir nokta (".") karakteri kullanır. |
ff | Bir ila yedi ondalık basamaktan oluşan isteğe bağlı saniye parçası. |
Giriş dizesi yalnızca bir gün değeri değilse, saat ve dakika bileşeni içermelidir; diğer bileşenler isteğe bağlıdır. Bunlar varsa, her zaman bileşeninin değerleri belirtilen aralık içinde olmalıdır. Örneğin, saat bileşeni olan ss değerinin 0 ile 23 arasında olması gerekir. Bu nedenle, yönteme "23:00:00" geçirilmesi Parse 23 saatlik bir zaman aralığı döndürür. Öte yandan, "24:00:00" değerinin geçirilmesi 24 günlük bir zaman aralığı döndürür. "24" saat bileşeni aralığının dışında olduğundan, gün bileşeni olarak yorumlanır.
Giriş dizesinin bileşenleri toplu olarak değerinden büyük veya buna eşit TimeSpan.MinValue ve değerinden küçük veya eşit TimeSpan.MaxValuebir zaman aralığı belirtmelidir.
yöntemi, Parse(String) geçerli kültür için kültüre özgü biçimlerin her birini kullanarak giriş dizesini ayrıştırmaya çalışır.
Arayanlara notlar
Ayrıştırılacak dizedeki bir zaman aralığı bileşeni yediden fazla basamak içerdiğinde, .NET Framework 3.5 ve önceki sürümlerdeki ayrıştırma işlemleri .NET Framework 4 ve sonraki sürümlerdeki ayrıştırma işlemlerinden farklı davranabilir. Bazı durumlarda, .NET Framework 3.5 ve önceki sürümlerinde başarılı olan ayrıştırma işlemleri başarısız olabilir ve .NET Framework 4 ve sonraki sürümlerde bir OverflowException oluşturabilir. Diğer durumlarda, .NET Framework 3.5 ve önceki sürümlerinde bir FormatException oluşturan ayrıştırma işlemleri başarısız olabilir ve .NET Framework 4 ve sonraki sürümlerinde bir OverflowException oluşturur. Aşağıdaki örnekte her iki senaryo da gösterilmektedir.
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 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
open System
let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
try
let interval = TimeSpan.Parse value
printfn $"{value} --> {interval}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// 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 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
Try
Dim interval As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, interval)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin