Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified culture-specific format information and formatting style.
- input
A string that contains a date and time to convert.
- formatProvider
An object that provides culture-specific format information about input.
- styles
A bitwise combination of enumeration values that indicates the permitted format of input. A typical value to specify is System.Globalization.DateTimeStyles.None.
![]()
An object that is equivalent to the date and time that is contained in input as specified by formatProvider and styles.
This method parses a string with three elements that can appear in any order and are delimited by white space. These three elements are shown in the following table.
| <Date> |
"2/10/2007" |
| <Time> |
"1:02:03 PM" |
| <Offset> |
"-7:30:15" |
Although each of these elements is optional, <Offset> cannot appear by itself. It must be provided together with either <Date> or <Time>. If <Date> is missing, its default value is the current day. If <Date> is present but its year component consists of only two digits, it is converted to a year in the provider parameter's current calendar based on the value of the System.Globalization.Calendar.TwoDigitYearMax property. If <Time> is missing, its default value is 12:00:00 AM. If <Offset> is missing, its default value is the offset of the local time zone, or TimeSpan.Zero if either the System.Globalization.DateTimeStyles.AdjustToUniversal or System.Globalization.DateTimeStyles.AssumeUniversal value is specified in the styles parameter. If <Offset> is present, it can represent either a negative or a positive offset from Coordinated Universal Time (UTC). In either case, <Offset> must include a sign symbol.
The format of these three elements is defined by the formatProvider parameter, which can be either of the following:
A System.Globalization.CultureInfo object that represents the culture whose formatting is used in the input parameter. The System.Globalization.DateTimeFormatInfo object returned by the System.Globalization.CultureInfo.DateTimeFormat property defines the formatting used in input.
A System.Globalization.DateTimeFormatInfo object that defines the format of date and time data.
Each element can also be enclosed by leading or trailing white space, and the <Date> and <Time> elements can include inner white space (such as 6: 00:00). Only the <Offset> component cannot include inner white space.
If formatprovider is null, the System.Globalization.CultureInfo object that corresponds to the current culture is used.
The positive or negative sign used in <Offset> must be either + or -. It is not defined by the System.Globalization.NumberFormatInfo.PositiveSign or System.Globalization.NumberFormatInfo.NegativeSign properties of the System.Globalization.NumberFormatInfo object returned by the formatProvider parameter.
The following table shows the members of the System.Globalization.DateTimeStyles enumeration that are supported.
| System.Globalization.DateTimeStyles.AdjustToUniversal |
Parses the string represented by input and, if necessary, converts it to UTC. It is equivalent to parsing a string and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object. |
| System.Globalization.DateTimeStyles.AllowInnerWhite |
Although valid, this value is ignored. Inner white space is permitted in the <Date> and <Time> elements. |
| System.Globalization.DateTimeStyles.AllowLeadingWhite |
Although valid, this value is ignored. Leading white space is permitted in front of each component in the parsed string. |
| System.Globalization.DateTimeStyles.AllowTrailingWhite |
Although valid, this value is ignored. Trailing white space is permitted in front of each component in the parsed string. |
| System.Globalization.DateTimeStyles.AllowWhiteSpaces |
This is the default behavior. It cannot be overridden by supplying a more restrictive System.Globalization.DateTimeStyles enumeration value, such as System.Globalization.DateTimeStyles.None. |
| System.Globalization.DateTimeStyles.AssumeLocal |
Indicates that, if the input parameter lacks an <Offset> element, the offset of the local time zone should be provided. This is the default behavior of the DateTimeOffset.Parse(string) method. |
| System.Globalization.DateTimeStyles.AssumeUniversal |
Indicates that, if the input parameter lacks an <Offset> element, the UTC offset (00:00) should be provided. |
| System.Globalization.DateTimeStyles.None |
Although valid, this value is ignored and has no effect. |
| System.Globalization.DateTimeStyles.RoundtripKind |
Because the DateTimeOffset structure does not include a Kind property, this value has no effect. |
Only the System.Globalization.DateTimeStyles.NoCurrentDateDefault value is not supported. An ArgumentException is thrown if this value is included in the styles parameter.