Поделиться через


DateTimeOffset.TryParse Метод

Определение

Преобразует указанное строковое представление даты и времени в его DateTimeOffset эквивалент.

Перегрузки

Имя Описание
TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Пытается преобразовать указанное строковое представление даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Пытается преобразовать указанное представление диапазона даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, IFormatProvider, DateTimeOffset)

Пытается проанализировать строку в значение.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Пытается проанализировать диапазон символов в значение.

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Пытается преобразовать указанное представление диапазона даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, DateTimeOffset)

Пытается преобразовать указанное строковое представление даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается преобразовать указанное строковое представление даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse(string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse(string? input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

Параметры

input
String

Строка, содержащая дату и время преобразования.

formatProvider
IFormatProvider

Объект, предоставляющий сведения о форматировании, зависящее от inputязыка и региональных параметров.

styles
DateTimeStyles

Побитовое сочетание значений перечисления, указывающее допустимый формат input.

result
DateTimeOffset

При возврате метода содержит DateTimeOffset значение, эквивалентное дате и времени input, если преобразование выполнено успешно или DateTimeOffset.MinValue, если преобразование завершилось ошибкой. Преобразование завершается ошибкой, если input параметр является null или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.

Возвращаемое значение

Значение />, если параметр успешно преобразован; в противном случае .

Исключения

styles включает неопределенное DateTimeStyles значение.

–или–

Функция NoCurrentDateDefault не поддерживается.

–или–

styles включает взаимоисключающие DateTimeStyles значения.

Примеры

В следующем примере метод вызывается TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) с различными значениями для анализа некоторых DateTimeStyles строк с различными форматами даты и времени.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeLocal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeUniversal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                           DateTimeStyles.AdjustToUniversal,
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
let dateString = "05/01/2008 6:00:00"
// Assume time is local
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeLocal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Assume time is UTC
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AdjustToUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
Dim dateString As String
Dim parsedDate As DateTimeOffset

dateString = "05/01/2008 6:00:00"
' Assume time is local 
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeLocal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Assume time is UTC
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00"
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AdjustToUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If
' The example displays the following output to the console:
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
'    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.

Комментарии

Эта перегрузка TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) метода похожа на DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) метод, за исключением того, что он не создает исключение, если преобразование завершается ошибкой. Метод анализирует строку с тремя элементами, которые могут отображаться в любом порядке и разделены пробелами. Эти три элемента показаны в следующей таблице.

Элемент Пример
<Дата> "2/10/2007"
<Время> "1:02:03 ВЕЧЕРА"
<Смещение> "-7:30"

Хотя каждый из этих элементов является необязательным, <смещение> не может отображаться самостоятельно. Он должен быть предоставлен вместе с <датой> или <временем>. Если <дата> отсутствует, значение по умолчанию — текущий день. Если <дата> присутствует, но его компонент года состоит только из двух цифр, он преобразуется в год в provider текущем календаре параметра на основе значения Calendar.TwoDigitYearMax свойства. Если <время> отсутствует, значение по умолчанию — 12:00:00:00. Если <смещение> отсутствует, его значение по умолчанию является смещением локального часового пояса или DateTimeStyles.AssumeUniversalZeroDateTimeStyles.AdjustToUniversal указано ли значение вstyles. Если <смещение> присутствует, оно может представлять отрицательное или положительное смещение от согласованного универсального времени (UTC). В любом случае смещение <> должно включать символ знака или возвращать falseметод.

Строка input анализируется с помощью сведений о форматировании, зависящих от языка и региональных параметров, в объекте DateTimeFormatInfo , предоставленном параметром formatProvider . Параметр formatProvider может иметь одно из следующих значений:

  • Объект CultureInfo , представляющий язык и региональные параметры, форматирование которых используется в input. Объект, DateTimeFormatInfo возвращаемый свойством CultureInfo.DateTimeFormat , определяет формат, используемый в input.

  • Объект DateTimeFormatInfo , определяющий формат данных даты и времени.

Кроме того, каждый элемент можно разделять по началу или конечным пробелам, а <компоненты даты> и <времени> могут включать внутреннее пробел (например, 6: 00:00). Только компонент "Смещение>" <не может содержать внутреннее пробела.

В противном providernullCultureInfo случае используется объект, соответствующий текущему языку и региональным параметрам.

Положительный или отрицательный знак, используемый в <offset> , должен иметь значение +или -. Он не определяется PositiveSign или NegativeSign свойствами NumberFormatInfo объекта, возвращаемого свойством formatprovider параметра NumberFormat .

Поддерживаются следующие члены DateTimeStyles перечисления:

Элемент DateTimeStyles Comments
AdjustToUniversal Анализирует строку, input представленную и при необходимости преобразует ее в формате UTC. Он эквивалентен синтаксическому анализу строки и вызову метода возвращаемого объекта ToUniversalTime() .
AllowInnerWhite Хотя допустимо, это значение игнорируется. Внутренние пробелы разрешены в <компонентах даты> и <времени> .
AllowLeadingWhite Хотя допустимо, это значение игнорируется. В начале пробела перед каждым компонентом в строке синтаксического анализа разрешено.
AllowTrailingWhite Хотя допустимо, это значение игнорируется. Конечная пробела допускается перед каждым компонентом в строке синтаксического анализа.
AllowWhiteSpaces Это поведение по умолчанию. Его нельзя переопределить, указав более строгое DateTimeStyles значение перечисления, например DateTimeStyles.None.
AssumeLocal Указывает, что если input параметр не имеет элемента Offset>, необходимо указать смещение локального часового <пояса. Это поведение TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) метода по умолчанию.
AssumeUniversal Указывает, что если input параметр не имеет <элемента Offset> , необходимо указать смещение UTC (00:00).
None Хотя допустимо, это значение игнорируется и не влияет.
RoundtripKind DateTimeOffset Поскольку структура не включает Kind свойство, это значение не влияет.

DateTimeStyles.NoCurrentDateDefault Только значение не поддерживается. Вызывается ArgumentException , если это значение включено в styles параметр.

См. также раздел

Применяется к

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается преобразовать указанное представление диапазона даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(ReadOnlySpan<char> input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

Параметры

input
ReadOnlySpan<Char>

Диапазон, содержащий символы, представляющие дату и время преобразования.

formatProvider
IFormatProvider

Объект, предоставляющий сведения о форматировании, зависящее от inputязыка и региональных параметров.

styles
DateTimeStyles

Побитовое сочетание значений перечисления, указывающее допустимый формат input.

result
DateTimeOffset

При возврате метода содержит DateTimeOffset значение, эквивалентное дате и времени input, если преобразование выполнено успешно или DateTimeOffset.MinValue, если преобразование завершилось ошибкой. Преобразование завершается ошибкой, если input параметр является null или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.

Возвращаемое значение

Значение />, если параметр успешно преобразован; в противном случае .

Применяется к

TryParse(String, IFormatProvider, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается проанализировать строку в значение.

public:
 static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = IParsable<DateTimeOffset>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Параметры

s
String

Строка для синтаксического анализа.

provider
IFormatProvider

Объект, предоставляющий сведения о форматировании, зависящее от sязыка и региональных параметров.

result
DateTimeOffset

При возврате этого метода содержит результат успешного анализа s или неопределенного значения при сбое.

Возвращаемое значение

true Значение , если s был успешно проанализирован; в противном случае false.

Применяется к

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается проанализировать диапазон символов в значение.

public:
 static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = ISpanParsable<DateTimeOffset>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Параметры

s
ReadOnlySpan<Char>

Диапазон символов для синтаксического анализа.

provider
IFormatProvider

Объект, предоставляющий сведения о форматировании, зависящее от sязыка и региональных параметров.

result
DateTimeOffset

При возврате этого метода содержит результат успешного анализа sили неопределенное значение при сбое.

Возвращаемое значение

true Значение , если s был успешно проанализирован; в противном случае false.

Применяется к

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается преобразовать указанное представление диапазона даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(ReadOnlySpan<char> input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse(ReadOnlySpan<char> input, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), ByRef result As DateTimeOffset) As Boolean

Параметры

input
ReadOnlySpan<Char>

Диапазон, содержащий символы, представляющие дату и время преобразования.

result
DateTimeOffset

При возврате метода содержит DateTimeOffset эквивалент даты и времени input, если преобразование выполнено успешно, или DateTimeOffset.MinValue, если преобразование завершилось ошибкой. Преобразование завершается ошибкой, если input параметр является null или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.

Возвращаемое значение

Значение />, если параметр успешно преобразован; в противном случае .

Применяется к

TryParse(String, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Пытается преобразовать указанное строковое представление даты и времени в его DateTimeOffset эквивалент и возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(System::String ^ input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse(string input, out DateTimeOffset result);
public static bool TryParse(string? input, out DateTimeOffset result);
static member TryParse : string * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, ByRef result As DateTimeOffset) As Boolean

Параметры

input
String

Строка, содержащая дату и время преобразования.

result
DateTimeOffset

При возврате метода содержит DateTimeOffset эквивалент даты и времени input, если преобразование выполнено успешно, или DateTimeOffset.MinValue, если преобразование завершилось ошибкой. Преобразование завершается ошибкой, если input параметр является null или не содержит допустимое строковое представление даты и времени. Этот параметр передается без инициализации.

Возвращаемое значение

Значение />, если параметр успешно преобразован; в противном случае .

Примеры

В следующем примере метод вызывает TryParse(String, DateTimeOffset) анализ нескольких строк с различными форматами даты и времени.

DateTimeOffset parsedDate;
string dateString;

// String with date only
dateString = "05/01/2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with time only
dateString = "11:36 PM";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date and offset
dateString = "05/01/2008 +7:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with day abbreviation
dateString = "Thu May 01, 2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);
// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
// String with date only
let dateString = "05/01/2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with time only
let dateString = "11:36 PM"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date and offset
let dateString = "05/01/2008 +7:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with day abbreviation
let dateString = "Thu May 01, 2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date, time with AM/PM designator, and offset
let dateString = "5/1/2008 10:00 AM -07:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
Dim parsedDate As DateTimeOffset
Dim dateString As String

' String with date only
dateString = "05/01/2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with time only
dateString = "11:36 PM"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date and offset 
dateString = "05/01/2008 +7:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with day abbreviation
dateString = "Thu May 01, 2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)
' If run on 3/29/07, the example displays the following output
' to the console:
'    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
'    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
'    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.

Комментарии

Эта перегрузка TryParse(String, DateTimeOffset) метода похожа на DateTimeOffset.Parse(String) метод, за исключением того, что он не создает исключение, если преобразование завершается ошибкой. Он анализирует строку с тремя элементами, которые могут отображаться в любом порядке и разделены пробелами. Эти три элемента показаны в следующей таблице.

Элемент Пример
<Дата> "2/10/2007"
<Время> "1:02:03 ВЕЧЕРА"
<Смещение> "-7:30"

Хотя каждый из этих элементов является необязательным, <смещение> не может отображаться самостоятельно. Он должен быть предоставлен вместе с <датой> или <временем>. Если <дата> отсутствует, значение по умолчанию — текущий день. Если <дата> присутствует, но его компонент года состоит только из двух цифр, он преобразуется в год в текущем календаре языка и региональных параметров на основе значения Calendar.TwoDigitYearMax свойства. Если <время> отсутствует, значение по умолчанию — 12:00:00:00. Если <смещение> отсутствует, его значение по умолчанию является смещением локального часового пояса. Если <смещение> присутствует, оно может представлять отрицательное или положительное смещение от согласованного универсального времени (UTC). В любом случае смещение <> должно включать символ знака или возвращать falseметод.

Строка input анализируется с помощью сведений о форматировании в объекте, инициализированном для текущего DateTimeFormatInfo языка и региональных параметров. Чтобы проанализировать строку, содержащую заданное форматирование, которое не обязательно соответствует текущему языку и региональным параметрам, используйте TryParseExact метод и укажите описатель формата.

См. также раздел

Применяется к