public static void WriteDateTime(Stream fs, byte flag, DateTime dt)
{
//write the flag (e.g. 0x01, 0xFF, etc.)
fs.WriteByte(flag);
//write the size of the data (6 Integers at 4 bytes each = 24bytes)
fs.Write(BitConverter.GetBytes(24), 0, 4);
//write the DateTime data
//Year
fs.Write(BitConverter.GetBytes(dt.Year), 0, 4);
//Month
fs.Write(BitConverter.GetBytes(dt.Month), 0, 4);
//Day
fs.Write(BitConverter.GetBytes(dt.Day), 0, 4);
//Hour
fs.Write(BitConverter.GetBytes(dt.Hour), 0, 4);
//Minute
fs.Write(BitConverter.GetBytes(dt.Minute), 0, 4);
//Second
fs.Write(BitConverter.GetBytes(dt.Second), 0, 4);
}