DateTime.TryParse Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует указанное строковое представление даты и времени в его DateTime эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.
Перегрузки
| Имя | Описание |
|---|---|
| TryParse(ReadOnlySpan<Char>, DateTime) |
Преобразует указанный диапазон символов даты и времени в его DateTime эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование. |
| TryParse(String, DateTime) |
Преобразует указанное строковое представление даты и времени в его DateTime эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime) |
Пытается проанализировать диапазон символов в значение. |
| TryParse(String, IFormatProvider, DateTime) |
Пытается проанализировать строку в значение. |
| TryParse(String, IFormatProvider, DateTimeStyles, DateTime) |
Преобразует указанное строковое представление даты и времени в его DateTime эквивалент, используя указанные сведения о формате языка и региональных параметрах и стиле форматирования, а также возвращает значение, указывающее, успешно ли выполнено преобразование. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
Преобразует представление диапазона даты и времени в его DateTime эквивалент, используя указанные сведения о формате и форматировании для конкретного языка и региональных параметров, а также возвращает значение, указывающее, выполнено ли преобразование успешно. |
Комментарии
Это важно
Эры в японских календарях основаны на царствии императора и поэтому, как ожидается, изменятся. Например, 1 мая 2019 г. отмечено начало эпохи Reiwa в JapaneseCalendar и JapaneseLunisolarCalendar. Такое изменение эпохи влияет на все приложения, использующие эти календари. Для получения дополнительной информации и определения влияния на ваши приложения см. статью Обработка новой эпохи в японском календаре в .NET. Сведения о тестировании ваших приложений на системах Windows для обеспечения их готовности к изменению эпохи см. в разделе Подготовка приложения к изменению японской эпохи. Функции в .NET, поддерживающие календари с несколькими эрами, и рекомендации по работе с календарями, поддерживающими несколько эпох, см. в разделе Работа с эрами.
TryParse(ReadOnlySpan<Char>, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Преобразует указанный диапазон символов даты и времени в его DateTime эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, out DateTime result);
static member TryParse : ReadOnlySpan<char> * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As DateTime) As Boolean
Параметры
- s
- ReadOnlySpan<Char>
Строка, содержащая дату и время для преобразования.
- result
- DateTime
Когда этот метод возвращается, содержит DateTime значение, эквивалентное дате и времени, содержаемой в s, если преобразование выполнено успешно, или DateTime.MinValue , если преобразование завершилось сбоем. Преобразование завершается ошибкой, если s параметр является nullпустой строкой (""), или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.
Возвращаемое значение
Применяется к
TryParse(String, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Преобразует указанное строковое представление даты и времени в его DateTime эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, out DateTime result);
public static bool TryParse(string? s, out DateTime result);
static member TryParse : string * DateTime -> bool
Public Shared Function TryParse (s As String, ByRef result As DateTime) As Boolean
Параметры
- s
- String
Строка, содержащая дату и время для преобразования.
- result
- DateTime
Когда этот метод возвращается, содержит DateTime значение, эквивалентное дате и времени, содержаемой в s, если преобразование выполнено успешно, или DateTime.MinValue , если преобразование завершилось сбоем. Преобразование завершается ошибкой, если s параметр является nullпустой строкой (""), или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.
Возвращаемое значение
Примеры
В следующем примере в метод передается DateTime.TryParse(String, DateTime) ряд строк даты и времени.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT" };
DateTime dateValue;
Console.WriteLine("Attempting to parse strings using {0} culture.",
CultureInfo.CurrentCulture.Name);
foreach (string dateString in dateStrings)
{
if (DateTime.TryParse(dateString, out dateValue))
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString,
dateValue, dateValue.Kind);
else
Console.WriteLine(" Unable to parse '{0}'.", dateString);
}
}
}
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
//
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
open System
open System.Globalization
let dateStrings =
[ "05/01/2009 14:57:32.8"; "2009-05-01 14:57:32.8"
"2009-05-01T14:57:32.8375298-04:00"; "5/01/2008"
"5/01/2008 14:57:32.80 -07:00"
"1 May 2008 2:57:32.8 PM"; "16-05-2009 1:00:32 PM"
"Fri, 15 May 2009 20:10:57 GMT" ]
printfn $"Attempting to parse strings using {CultureInfo.CurrentCulture.Name} culture."
for dateString in dateStrings do
match DateTime.TryParse dateString with
| true, dateValue ->
printfn $" Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $" Unable to parse '{dateString}'."
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateStrings() As String = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT"}
Dim dateValue As Date
Console.WriteLine("Attempting to parse strings using {0} culture.", _
CultureInfo.CurrentCulture.Name)
For Each dateString As String In dateStrings
If Date.TryParse(dateString, dateValue) Then
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString, _
dateValue, dateValue.Kind)
Else
Console.WriteLine(" Unable to parse '{0}'.", dateString)
End If
Next
End Sub
End Module
' The example displays output like the following:
' Attempting to parse strings using en-US culture.
' Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
'
' Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
' Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
' Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
' Unable to parse '16-05-2009 1:00:32 PM'.
' Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Комментарии
Метод DateTime.TryParse(String, DateTime) аналогичен DateTime.Parse(String) методу, за исключением того, что TryParse(String, DateTime) метод не создает исключение, если преобразование завершается ошибкой.
Строка s анализируется с помощью сведений о форматировании в текущем DateTimeFormatInfo объекте, который предоставляется неявно текущим языком и региональными параметрами.
Этот метод пытается игнорировать нераспознанные данные, если это возможно, и заполняет отсутствующие данные месяца, дня и года текущей датой. Если s содержит только дату и время, этот метод предполагает, что время равно 12:00 полуночи. Если s включает компонент даты с двухзначным годом, он преобразуется в год в текущем календаре языка и региональных параметров на основе значения Calendar.TwoDigitYearMax свойства. Любой начальный, внутренний или конечный символ пробела игнорируется s . Дата и время можно заключить в скобки с парой символов с начальным и конечным номером ('#', U+00023), а также с одним или несколькими символами NULL (U+0000).
DateTime.TryParse(String, DateTime) Так как метод пытается проанализировать строковое представление даты и времени с помощью правил форматирования текущего языка и региональных параметров, попытка проанализировать определенную строку в разных языках и региональных параметрах может либо завершиться ошибкой, либо возвращать разные результаты. Если определенный формат даты и времени будет проанализирован по разным языковым стандартам, используйте DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) метод или одну из перегрузок TryParseExact метода и укажите описатель формата.
Если s строковое представление високосного дня в високосном году в текущем календаре, метод успешно анализирует s . Если s строковое представление дня високосного дня в текущем календаре текущего языка и региональных параметров завершается ошибкой, а метод возвращается false.
Если s нет сведений часового DateTime пояса, содержит значение, result свойство которого Kind находится DateTimeKind.Unspecified при возврате метода. Если строка, которую нужно проанализировать, содержит сведения часового пояса, содержит значение, result свойство которого Kind находится DateTimeKind.Local при возврате DateTime метода.
Примечания для тех, кто вызывает этот метод
Форматирование зависит от свойств текущего DateTimeFormatInfo объекта, который по умолчанию является производным от элемента "Региональные и языковые параметры " на панели управления. Метод TryParse может неожиданно завершиться ошибкой и вернуться False , если текущий DateSeparator и TimeSeparator свойства заданы одинаковое значение.
См. также раздел
- Parse
- CultureInfo
- DateTimeFormatInfo
- Анализ строк даты и времени в .NET Framework
- Стандартные строки формата даты и времени
- Настраиваемые строки формата даты и времени
- Пример: программа форматирования WinForms для .NET Core (C#)
- Пример: программа форматирования WinForms для .NET Core (Visual Basic)
Применяется к
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Пытается проанализировать диапазон символов в значение.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = ISpanParsable<DateTime>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTime) As Boolean
Параметры
- s
- ReadOnlySpan<Char>
Диапазон символов для синтаксического анализа.
- provider
- IFormatProvider
Объект, предоставляющий сведения о форматировании, зависящее от sязыка и региональных параметров.
- result
- DateTime
При возврате этого метода содержит результат успешного анализа sили неопределенное значение при сбое.
Возвращаемое значение
true Значение , если s был успешно проанализирован; в противном случае false.
Применяется к
TryParse(String, IFormatProvider, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Пытается проанализировать строку в значение.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = IParsable<DateTime>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out DateTime result);
static member TryParse : string * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTime) As Boolean
Параметры
- s
- String
Строка для синтаксического анализа.
- provider
- IFormatProvider
Объект, предоставляющий сведения о форматировании, зависящее от sязыка и региональных параметров.
- result
- DateTime
При возврате этого метода содержит результат успешного анализа s или неопределенного значения при сбое.
Возвращаемое значение
true Значение , если s был успешно проанализирован; в противном случае false.
Применяется к
TryParse(String, IFormatProvider, DateTimeStyles, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Преобразует указанное строковое представление даты и времени в его DateTime эквивалент, используя указанные сведения о формате языка и региональных параметрах и стиле форматирования, а также возвращает значение, указывающее, успешно ли выполнено преобразование.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(string? s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Параметры
- s
- String
Строка, содержащая дату и время для преобразования.
- provider
- IFormatProvider
Объект, предоставляющий сведения sо форматировании с учетом языка и региональных параметров.
- styles
- DateTimeStyles
Побитовое сочетание значений перечисления, определяющее, как интерпретировать дату синтаксического анализа относительно текущего часового пояса или текущей даты. Обычное значение, которое нужно указать None.
- result
- DateTime
Когда этот метод возвращается, содержит DateTime значение, эквивалентное дате и времени, содержаемой в s, если преобразование выполнено успешно, или DateTime.MinValue , если преобразование завершилось сбоем. Преобразование завершается ошибкой, если s параметр является nullпустой строкой (""), или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.
Возвращаемое значение
Исключения
styles недопустимое DateTimeStyles значение.
–или–
styles содержит недопустимое сочетание значений DateTimeStyles (например, оба AssumeLocal и AssumeUniversal).
provider является нейтральным языком и региональными параметрами и не может использоваться в операции синтаксического анализа.
Примеры
В следующем примере показан DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) метод.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string dateString;
CultureInfo culture;
DateTimeStyles styles;
DateTime dateResult;
// Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM";
culture = CultureInfo.CreateSpecificCulture("en-US");
styles = DateTimeStyles.None;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.",
dateString);
// Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00";
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00";
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
dateString = "2008-03-01 10:00";
culture = CultureInfo.CreateSpecificCulture("fr-FR");
styles = DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
}
}
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
open System
open System.Globalization
[<EntryPoint>]
let main _ =
// Parse a date and time with no styles.
let dateString = "03/01/2009 10:00 AM"
let culture = CultureInfo.CreateSpecificCulture "en-US"
let styles = DateTimeStyles.None
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse the same date and time with the AssumeLocal style.
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
let dateString = "2009/03/01T10:00:00-5:00"
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Attempt to convert a string in improper ISO 8601 format.
let dateString = "03/01/2009T10:00:00-5:00"
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
let dateString = "2008-03-01 10:00"
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
let styles = DateTimeStyles.AdjustToUniversal ||| DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
0
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateString As String
Dim culture As CultureInfo
Dim styles As DateTimeStyles
Dim dateResult As DateTime
' Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM"
culture = CultureInfo.CreateSpecificCulture("en-US")
styles = DateTimeStyles.None
If DateTime.TryParse(dateString, culture, styles, dateResult) Then
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse a date and time that is assumed to be local.
' This time is five hours behind UTC. The local system's time zone is
' eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00"
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00"
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Assume a date and time string formatted for the fr-FR culture is the local
' time and convert it to UTC.
dateString = "2008-03-01 10:00"
culture = CultureInfo.CreateSpecificCulture("fr-FR")
styles = DateTimeStyles.AdjustToUniversal Or DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
End Sub
End Module
' The example displays the following output to the console:
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
' 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
' Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
' 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Комментарии
Дополнительные сведения об этом API см. в дополнительных примечаниях API для DateTime.TryParse.
Примечания для тех, кто вызывает этот метод
Форматирование зависит от свойств текущего DateTimeFormatInfo объекта, который предоставляется параметром provider . Метод TryParse может неожиданно завершиться ошибкой и вернуться False , если текущий DateSeparator и TimeSeparator свойства заданы одинаковое значение.
См. также раздел
- Parse
- CultureInfo
- DateTimeFormatInfo
- Анализ строк даты и времени в .NET Framework
- Стандартные строки формата даты и времени
- Настраиваемые строки формата даты и времени
Применяется к
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
- Исходный код:
- DateTime.cs
Преобразует представление диапазона даты и времени в его DateTime эквивалент, используя указанные сведения о формате и форматировании для конкретного языка и региональных параметров, а также возвращает значение, указывающее, выполнено ли преобразование успешно.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Параметры
- s
- ReadOnlySpan<Char>
Диапазон, содержащий символы, представляющие дату и время преобразования.
- provider
- IFormatProvider
Объект, предоставляющий сведения sо форматировании с учетом языка и региональных параметров.
- styles
- DateTimeStyles
Побитовое сочетание значений перечисления, определяющее, как интерпретировать дату синтаксического анализа относительно текущего часового пояса или текущей даты. Обычное значение, которое нужно указать None.
- result
- DateTime
Когда этот метод возвращается, содержит DateTime значение, эквивалентное дате и времени, содержаемой в s, если преобразование выполнено успешно, или DateTime.MinValue , если преобразование завершилось сбоем. Преобразование завершается ошибкой, если s параметр является nullпустой строкой (""), или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.