Too large string. I have converted the YYYY/MM/DD HH:NN:SS to a string, using only 8 chars or less.
ISO 8601 can be condensed in its representation, but it can't be condensed that small unless you omit components.
So, let's go back to the discussion of converting the TDateTime to an integer offset from the Unix epoch (January 1 1970 00:00:00 GMT).
The current date/time (October 5 2016 23:03:26 GMT) as a seconds-precision offset uses 10 decimal digits (1475708606), and a milliseconds-precision offset uses 13 decimal digits (1475708606043). Neither will fit your 8-char restriction if you encode the offset as a decimal string.
However, if you stored the offset as binary data, a 32bit seconds-precision offset (which will
overflow in the year 2038 if you use a signed integer, and in the year 2106 if you use an unsigned integer) can be stored in 4 bytes, and a 64bit milliseconds-precision offset can be stored in 8 bytes.
Alternatively, a 32bit seconds-precision offset can be encoded as an 8-char hex string (57F586BE). But then you lose milliseconds precision, which would require an 11-char hex string (1579716565B).
If you were to encode the offset value as a packed
Binary-Coded Decimal, a 13-digit milliseconds-precision offset would fit in 7 bytes (0x01 0x47 0x57 0x08 0x60 0x60 0x43) (a 16-digit offset would fit in 8 bytes).
Or, you could do what I did in one app, and bit-stuff the components of a complete date/time (with milliseconds and even UTC offset!) into 8 bytes (with bits to spare!).
Here is the bit layout I used.
Either way, if you have the date/time in binary format and need to store it as human-readable text, you could just map the binary bytes to an ASCII alphabet, and map them back during decoding.