Go to Google Groups Home    microsoft.public.dotnet.framework
Re: FoxPro Date Processing

Brendan McKenzie <brendan.mcken...@gmail.com>

The Solution:

[code]
                byte[] ArrDate = new byte[] { Data[Offset], Data[Offset + 1],
Data[Offset + 2], Data[Offset + 3] };
                byte[] ArrTime = new byte[] { Data[Offset + 4], Data[Offset + 5],
Data[Offset + 6], Data[Offset + 7] };
                int LngDate = BitConverter.ToInt32(ArrDate, 0);
                int LngTime = BitConverter.ToInt32(ArrTime, 0);

                if ((LngDate * LngTime) != 0)
                {
                        LngDate -= 1721426;
                        DateTime dt = new DateTime(1, 1, 1, 0, 0, 0);

                        dt = dt.AddMilliseconds(LngTime);
                        dt = dt.AddDays(LngDate);

                        return dt;
                }
                else
                {
                        return null;
                }
[!code]

Quote: "work out what FoxPro's date is at 1/1/0001, then try working
relative to that"