DateTimeOffset.Parse Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует заданное строковое представление даты и времени в его эквивалент DateTimeOffset.
Перегрузки
Parse(String) |
Преобразует заданное строковое представление даты, времени и смещения в его эквивалент DateTimeOffset. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Анализирует диапазон символов в значение. |
Parse(String, IFormatProvider) |
Преобразует заданное строковое представление даты и времени в его эквивалент DateTimeOffset, используя указанные сведения о форматировании, связанные с языком и региональными параметрами. |
Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) |
Преобразует заданное представление даты и времени в виде диапазона в его эквивалент DateTimeOffset, используя указанные сведения о формате для определенного языка и региональных параметров, а также указанный стиль форматирования. |
Parse(String, IFormatProvider, DateTimeStyles) |
Преобразует заданное строковое представление даты и времени в его эквивалент DateTimeOffset, используя указанную информацию о форматировании, связанную с языком и региональными параметрами, а также заданный стиль форматирования. |
Комментарии
Важно!
Эры в японских календарях основаны на периодах царствования императоров. Таким образом, ожидается наступление новой эры. Например, 1 мая 2019 года в JapaneseCalendar и JapaneseLunisolarCalendar отмечено как начало эры Рэйва. Изменение эры затрагивает все приложения, использующие эти календари. Дополнительные сведения и определение того, затронуты ли ваши приложения, см. в статье Обработка новой эры в японском календаре в .NET. Сведения о тестировании приложений в системах Windows для обеспечения их готовности к изменению эпохи см. в статье Подготовка приложения к изменению японской эры. Сведения о функциях в .NET, поддерживающих календари с несколькими эрами, а также рекомендации по работе с календарями, поддерживающими несколько эпох, см. в статье Работа с эрами.
Parse(String)
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
Преобразует заданное строковое представление даты, времени и смещения в его эквивалент DateTimeOffset.
public:
static DateTimeOffset Parse(System::String ^ input);
public static DateTimeOffset Parse (string input);
static member Parse : string -> DateTimeOffset
Public Shared Function Parse (input As String) As DateTimeOffset
Параметры
- input
- String
Строка, содержащая дату и время, которые нужно преобразовать.
Возвращаемое значение
Объект, эквивалентный дате и времени, содержащимся в параметре input
.
Исключения
Смещение больше 14 часов или меньше -14 часов.
input
имеет значение null
.
Параметр input
не содержит допустимое строковое представление даты и времени.
-или-
input
содержит строковое представление смещения без даты или времени.
Примеры
В следующем примере метод вызывается Parse(String) для анализа нескольких строк даты и времени. Пример включает выходные данные от 22 марта 2007 г. в системе с языком и региональными параметрами en-us.
string dateString;
DateTimeOffset offsetDate;
// String with date only
dateString = "05/01/2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with time only
dateString = "11:36 PM";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date and offset
dateString = "05/01/2008 +1:00";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with day abbreviation
dateString = "Thu May 01, 2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date only
let dateString = "05/01/2008"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with time only
let dateString = "11:36 PM"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with date and offset
let dateString = "05/01/2008 +1:00"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with day abbreviation
let dateString = "Thu May 01, 2008"
let offsetDate = DateTimeOffset.Parse(dateString)
printfn $"{offsetDate}"
Dim dateString As String
Dim offsetDate As DateTimeOffset
' String with date only
dateString = "05/01/2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM -07:00
' String with time only
dateString = "11:36 PM"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 3/26/2007 11:36:00 PM -07:00
' String with date and offset
dateString = "05/01/2008 +7:00"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM +07:00
' String with day abbreviation
dateString = "Thu May 01, 2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM -07:00
Комментарии
Parse(String) анализирует строку с тремя элементами, которые могут отображаться в любом порядке и разделены пробелами. Эти три элемента, как показано в следующей таблице.
Элемент | Пример |
---|---|
<Дата> | "2/10/2007" |
<Time> | "13:02:03" |
<Offset> | "-7:30" |
Хотя каждый из этих элементов является необязательным, <offset> не может отображаться сам по себе. Он должен быть указан вместе с датой <> или <временем>. Если <параметр Date> отсутствует, значение по умолчанию — текущий день. Если <время> отсутствует, значение по умолчанию — 12:00:00. Если <аргумент Date> присутствует, но его компонент year состоит только из двух цифр, он преобразуется в год в текущем календаре текущего Calendar.TwoDigitYearMax языка и региональных параметров на основе значения свойства . Если <значение Offset> отсутствует, значением по умолчанию является смещение местного часового пояса. <Смещение> может представлять либо отрицательное, либо положительное смещение от времени в формате UTC. В любом случае <смещение> должно содержать символ знака.
Строка input
анализируется с помощью сведений о форматировании в объекте DateTimeFormatInfo , инициализированном для текущего языка и региональных параметров. Чтобы проанализировать строку, содержащую заданное форматирование, которое не обязательно соответствует форматированию текущего языка и региональных параметров, используйте ParseExact метод и укажите описатель формата.
См. также раздел
Применяется к
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
Анализирует диапазон символов в значение.
public:
static DateTimeOffset Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As DateTimeOffset
Параметры
- s
- ReadOnlySpan<Char>
Диапазон символов для анализа.
- provider
- IFormatProvider
Объект, предоставляющий сведения о форматировании параметра s
в зависимости от языка и региональных параметров.
Возвращаемое значение
Результат анализа s
.
Реализации
Применяется к
Parse(String, IFormatProvider)
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
Преобразует заданное строковое представление даты и времени в его эквивалент DateTimeOffset, используя указанные сведения о форматировании, связанные с языком и региональными параметрами.
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As DateTimeOffset
Параметры
- input
- String
Строка, содержащая дату и время, которые нужно преобразовать.
- formatProvider
- IFormatProvider
Объект, предоставляющий сведения о форматировании значения input
, связанные с языком и региональными параметрами.
Возвращаемое значение
Объект, эквивалентный дате и времени, содержащимся в параметре input
, в соответствии со значением параметра formatProvider
.
Реализации
Исключения
Смещение больше 14 часов или меньше -14 часов.
input
имеет значение null
.
Параметр input
не содержит допустимое строковое представление даты и времени.
-или-
input
содержит строковое представление смещения без даты или времени.
Примеры
В следующем примере выполняется анализ строк даты и времени, отформатированных для языка и региональных параметров fr-fr, и их отображение с использованием языка и региональных параметров en-us локальной системы по умолчанию.
DateTimeFormatInfo fmt = new CultureInfo("fr-fr").DateTimeFormat;
string dateString;
DateTimeOffset offsetDate;
dateString = "03-12-07";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
dateString = "15/09/07 08:45:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
dateString = "mar. 1 janvier 2008 1:00:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
// The example displays the following output to the console:
// 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
// 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
// mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
let fmt = CultureInfo("fr-fr").DateTimeFormat
let dateString = "03-12-07"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
let dateString = "15/09/07 08:45:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
let dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
// The example displays the following output to the console:
// 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
// 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
// mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
Dim fmt As DateTimeFormatInfo = New CultureInfo("fr-fr").DateTimeFormat
Dim dateString As String
Dim offsetDate As DateTimeOffset
dateString = "03-12-07"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
dateString = "15/09/07 08:45:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
' The example displays the following output to the console:
' 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
' 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
' mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
Комментарии
Этот метод анализирует строку с тремя элементами, которые могут отображаться в любом порядке и разделены пробелами. Эти три элемента показаны в следующей таблице.
Элемент | Пример |
---|---|
<Дата> | "2/10/2007" |
<Time> | "13:02:03" |
<Offset> | "-7:30" |
Хотя каждый из этих элементов является необязательным, <offset> не может отображаться сам по себе. Он должен быть указан вместе с датой <> или <временем>. Если <параметр Date> отсутствует, значение по умолчанию — текущий день. Если <аргумент Date> присутствует, но его компонент year состоит только из двух цифр, он преобразуется в год в provider
текущем календаре параметра на основе значения Calendar.TwoDigitYearMax свойства . Если <время> отсутствует, значение по умолчанию — 12:00:00. Если <значение Offset> отсутствует, значением по умолчанию является смещение местного часового пояса.
<Смещение> может представлять либо отрицательное, либо положительное смещение от времени в формате UTC. В любом случае <смещение> должно содержать символ знака.
Формат этих трех элементов определяется параметром formatProvider
, который может быть следующим:
Объект CultureInfo , представляющий язык и региональные параметры, форматирование которого используется в параметре
input
. Объект DateTimeFormatInfo , возвращаемый свойством CultureInfo.DateTimeFormat , определяет форматирование, используемое вinput
.Объект DateTimeFormatInfo , определяющий формат данных даты и времени.
Если formatprovider
имеет значение null
, CultureInfo используется объект , соответствующий текущему языку и региональным параметрам.
Знак "положительный" или "отрицательный", используемый в <offset> , должен иметь значение "+" или "-". Он не определяется свойствами PositiveSignNumberFormatInfo или NegativeSign объекта formatProvider
параметра .
См. также раздел
Применяется к
Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
Преобразует заданное представление даты и времени в виде диапазона в его эквивалент DateTimeOffset, используя указанные сведения о формате для определенного языка и региональных параметров, а также указанный стиль форматирования.
public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
static member Parse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing, Optional styles As DateTimeStyles = System.Globalization.DateTimeStyles.None) As DateTimeOffset
Параметры
- input
- ReadOnlySpan<Char>
Диапазон, содержащий символы, которые представляют преобразуемые дату и время.
- formatProvider
- IFormatProvider
Объект, предоставляющий сведения о форматировании значения input
, связанные с языком и региональными параметрами.
- styles
- DateTimeStyles
Побитовая комбинация значений перечисления, которая показывает разрешенный формат параметра input
. Обычно указывается значение None.
Возвращаемое значение
Объект, эквивалентный дате и времени, содержащимся в параметре input
, в соответствии со значениями параметров formatProvider
и styles
.
Применяется к
Parse(String, IFormatProvider, DateTimeStyles)
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
- Исходный код:
- DateTimeOffset.cs
Преобразует заданное строковое представление даты и времени в его эквивалент DateTimeOffset, используя указанную информацию о форматировании, связанную с языком и региональными параметрами, а также заданный стиль форматирования.
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles);
static member Parse : string * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles) As DateTimeOffset
Параметры
- input
- String
Строка, содержащая дату и время, которые нужно преобразовать.
- formatProvider
- IFormatProvider
Объект, предоставляющий сведения о форматировании значения input
, связанные с языком и региональными параметрами.
- styles
- DateTimeStyles
Побитовая комбинация значений перечисления, которая показывает разрешенный формат параметра input
. Обычно указывается значение None.
Возвращаемое значение
Объект, эквивалентный дате и времени, содержащимся в параметре input
, в соответствии со значениями параметров formatProvider
и styles
.
Исключения
Смещение больше 14 часов или меньше -14 часов.
-или-
styles
не является допустимым значением DateTimeStyles.
-или-
styles
содержит неподдерживаемое значение DateTimeStyles.
-или-
Параметр styles
содержит значения DateTimeStyles, которые нельзя использовать вместе.
input
имеет значение null
.
Параметр input
не содержит допустимое строковое представление даты и времени.
-или-
input
содержит строковое представление смещения без даты или времени.
Примеры
В следующем примере показан результат передачи значений DateTimeStyles.AssumeLocal, DateTimeStyles.AssumeUniversalи DateTimeStyles.AdjustToUniversal в styles
параметр Parse(String, IFormatProvider, DateTimeStyles) метода .
string dateString;
DateTimeOffset offsetDate;
dateString = "05/01/2008 6:00:00";
// Assume time is local
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 6:00:00 AM -07:00
// Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 6:00:00 AM +00:00
// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 1:00:00 AM +00:00
let dateString = "05/01/2008 6:00:00"
// Assume time is local
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal)
printfn $"{offsetDate}" // Displays 5/1/2008 6:00:00 AM -07:00
// Assume time is UTC
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal)
printfn $"{offsetDate}" // Displays 5/1/2008 6:00:00 AM +00:00
// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal)
printfn $"{offsetDate}" // Displays 5/1/2008 1:00:00 AM +00:00
Dim dateString As String
Dim offsetDate As DateTimeOffset
dateString = "05/01/2008 6:00:00"
' Assume time is local
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeLocal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 6:00:00 AM -07:00
' Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeUniversal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 6:00:00 AM +00:00
' Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00"
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AdjustToUniversal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 1:00:00 AM +00:00
Комментарии
Этот метод анализирует строку с тремя элементами, которые могут отображаться в любом порядке и разделены пробелами. Эти три элемента показаны в следующей таблице.
Элемент | Пример |
---|---|
<Дата> | "2/10/2007" |
<Time> | "13:02:03" |
<Offset> | "-7:30" |
Хотя каждый из этих элементов является необязательным, <Offset> не может отображаться сам по себе. Он должен быть указан вместе с датой <> или <временем>. Если <параметр Date> отсутствует, значение по умолчанию — текущий день. Если <дата> присутствует, но ее компонент года состоит только из двух цифр, он преобразуется в год в provider
текущем календаре параметра на основе значения Calendar.TwoDigitYearMax свойства . Если <время> отсутствует, его значение по умолчанию — 12:00:00. Если <значение Offset> отсутствует, значением по умолчанию является смещение местного часового пояса или TimeSpan.Zero значение DateTimeStyles.AdjustToUniversal или DateTimeStyles.AssumeUniversal указано в параметре styles
. При <наличии смещения> оно может представлять либо отрицательное, либо положительное смещение от времени UTC. В любом случае <смещение> должно содержать символ знака.
Формат этих трех элементов определяется параметром formatProvider
, который может быть следующим:
Объект CultureInfo , представляющий язык и региональные параметры, форматирование которого используется в параметре
input
. Объект DateTimeFormatInfo , возвращаемый свойством , CultureInfo.DateTimeFormat определяет форматирование, используемое вinput
.Объект DateTimeFormatInfo , определяющий формат данных даты и времени.
Каждый элемент также может быть заключен в начальный или конечный пробел, а <элементы Date> и <Time> могут содержать внутренние пробелы (например, 6: 00:00). <Только компонент Offset> не может содержать внутренние пробелы.
Если formatprovider
имеет значение null
, CultureInfo используется объект , соответствующий текущему языку и региональным параметрам.
Положительный или отрицательный знак, используемый в <Offset> , должен иметь значение +или -. Он не определяется свойствами PositiveSign или NegativeSign объекта, NumberFormatInfo возвращаемого параметром formatProvider
.
В следующей таблице показаны поддерживаемые System.Globalization.DateTimeStyles элементы перечисления .
Элемент DateTimeStyles | Описание |
---|---|
AdjustToUniversal | Анализирует строку, представленную input , и при необходимости преобразует ее в формат UTC. Это эквивалентно анализу строки и последующему вызову DateTimeOffset.ToUniversalTime метода возвращаемого DateTimeOffset объекта. |
AllowInnerWhite | Хотя это значение является допустимым, оно игнорируется. Внутренние пробелы разрешены в элементах <Date> и <Time> . |
AllowLeadingWhite | Хотя это значение является допустимым, оно игнорируется. Перед каждым компонентом в анализируемой строке допускается пробел. |
AllowTrailingWhite | Хотя это значение является допустимым, оно игнорируется. Перед каждым компонентом в анализируемой строке разрешено использовать пробелы в конце. |
AllowWhiteSpaces | Это поведение по умолчанию. Его нельзя переопределить, указав более строгое DateTimeStyles значение перечисления, например DateTimeStyles.None. |
AssumeLocal | Указывает, что если в параметре input отсутствует <элемент Offset> , необходимо указать смещение местного часового пояса. Это поведение метода по умолчанию Parse . |
AssumeUniversal | Указывает, что если в параметре input <отсутствует элемент Offset> , необходимо указать смещение в формате UTC (00:00). |
None | Хотя это значение является допустимым, оно игнорируется и не оказывает никакого влияния. |
RoundtripKind | Так как структура DateTimeOffset не включает Kind свойство, это значение не оказывает никакого влияния. |
Не поддерживается DateTimeStyles.NoCurrentDateDefault только значение . Если ArgumentException это значение включено в styles
параметр, возникает исключение .