parse-dateTime
Converts a date and time value expressed as a string into a value of type xs:dateTime.

Languages
Built-in, C++, C#, Java.
Parameters
| Argument | Description | 
|---|---|
| value | The string value to be converted. | 
| format | Specifies the format mask to apply to value. | 
Remarks
A format mask can consist of the following components:
| Component | Description | Default Presentation | 
|---|---|---|
| Y | year (absolute value) | four digits (2010) | 
| M | month of the year | 1-12 | 
| D | day of month | 1-31 | 
| d | day of year | 1-366 | 
| H | hour (24 hours) | 0-23 | 
| h | hour (12 hour) | 1-12 | 
| P | A.M. or P.M. | alphabetic (language dependent) | 
| m | minutes in hour | 00-59 | 
| s | seconds in minute | 00-59 | 
| f | fractional seconds | numeric, one decimal place | 
| Z | timezone as a time offset from UTC | +08:00 | 
| z | timezone as a time offset using GMT | GMT+n | 
Some of the components above take modifiers (for example, they can be used to interpret a date either as a single digit or as two digits):
| Modifier | Description | Example | 
|---|---|---|
| 1 | decimal numeric format with no leading zeros: 1, 2, 3, ... | 1, 2, 3 | 
| 01 | decimal format, two digits: 01, 02, 03, ... | 01, 02, 03 | 
| N | name of component, upper case | FEBRUARY, MARCH | 
| n | name of component, lower case | february, march | 
| Nn | name of component, title case | February, March | 
Note: N, n, and Nn modifiers support only the component M (month).
If you need a width modifier, put a comma before it. The width modifier is a digit that expresses the minimum width. Optionally, you can add a dash and a digit that expresses the maximum width. For example:
•[D,2] is the day of the month, with leading zeros (two digits).
•[MNn,3-3] is the name of the month, written as three characters, e.g., Jan, Feb, Mar, and so on.
The table below lists some format examples:
| Value | Format | Result | 
|---|---|---|
| 21-03-2002 16:21:12.492 GMT+02:00 | [D]-[M]-[Y] [H]:[m]:[s].[f] [z] | 2002-03-21T16:21:12.492+02:00 | 
| 315 2004 +01:00 | [d] [Y] [Z] | 2004-11-10T00:00:00+01:00 | 
| 1.December.10 03:2:39 p.m. +01:00 | [D].[MNn].[Y,2-2] [h]:[m]:[s] [P] [Z] | 2010-12-01T15:02:39+01:00 | 
| 20110620 | [Y,4-4][M,2-2][D,2-2] | 2011-06-20T00:00:00 | 
Example
In the mapping below, the string value 2019-12-24 19:43:04 +02:00 is converted into its dateTime equivalent, by applying the format mask [Y]-[M]-[D] [H]:[m]:[s] [Z].

The result is as follows (excluding the XML and namespace declarations):
| <FlightInformation> | 
See also Example: Write Data to Protocol Buffers.