Had a strange one today - I used Data Loader to import some Contract records, including Start Date and End Date.
With my 1 row test import the dates showed in Salesforce as 1 day earlier than the date in the csv file. I had a look at csv date formats but that didn't fix it.
The Start Date and End Date fields are 'Date' type and not 'Date/Time' so that wasn't it either.
In the interests of just getting the job done I added a day to the date in the import test file and, after loading, the dates in Salesforce were as intended.
I applied this to the full import file and loaded the data. The result was that in Salesforce, some of the dates were as intended and some were a day later than intended! I deleted the imported records.
After more poking around I came to Data Loader Time Zone in the Settings menu. Mine was set to 'Europe/London'. I changed it to 'GMT' and reran the test import file using the original date in the file. Success!
Loaded the original full import file with the dates that were intended and all loaded correctly.
Can't explain that one, British Summer Time possibly a factor, but if you're having strange things happening with dates in Data Loader, have a look at the Time Zone setting.