The timestamp is written in the header of the file. The time and date entered there is the time and date that you are looking for. The timestamp written next to each piece of data is indead a relative value. It is the delta from the timestamp in the header to the time that datum was collected (created). The reason for this is that timestamps are quite large in bytes, especially if you break out the time and date in strings. Just stamping the header and providing the offsets is much more efficient.
If you choose to not provide a header, I think that the timestamp will be lost entirely. I think that this is probably wrong, but I am uunsure what should be done to correct it.
Hope that this helps,
Bob