Message Sets: DateTime as BINARY data
The count of pattern letters determines the number of bytes used to represent a value. The symbol used in the pattern of letters can be used only in groups of 1, 2, or 4; for example, y, yy, or yyyy.
The following table shows the dateTime symbols for binary data:
| Symbol | Meaning | Example |
|---|---|---|
| y | year | 1996 |
| M | month in year | 7 |
| d | day in month | 10 |
| H | hour in day (0-23) | 13 |
| m | minute in hour | 30 |
| s | second in minute | 55 |
| S | millisecond | 978 |
| X | Ignore on input
Pad with zeros on output |
The following example shows the
C language structure tm with an integer of four bytes:
struct tm
{ int tm_sec; /* seconds after the minute - [0,59]*/
{ int tm_min; /* minutes after the hour - [0,59]*/
{ int tm_hour; /* hours since midnight - [0,23]*/
{ int tm_mday; /* day of the month - [1,31]*/
{ int tm_mon; /* months since January - [0,11]*/
{ int tm_year; /* years since 1900 */
{ int tm_wday; /* days since Sunday - [0,6]*/
{ int tm_yday; /* days since January 1 - [0,365]*/
{ int tm_isdst; /* daylight saving time flag */
};You can format this structure by specifying the string
"ssssmmmmHHHHddddMMMM+1yyyy+1900XXXXXXXXXXXX". The
number of pattern letters determines the number of bytes. There are
36 A-Z characters specified in this pattern, which match the 36 byte
structure tm. A field followed by a plus sign (+)
has the succeeding numeric characters added to it. Therefore MMMM+1 adds
one to the month, yyyy+1900 adds 1900 to the year. X expects
one byte of input, but ignores its value. On output, it writes the
byte as 0.