Hi.
Same problem with my iPhone 4 iOS 5.0.1.
To reproduce, I enter a birthday like 02-09-2001. All correct in Apple Address Book on the phone.
The birthdays are also shown incorrectly on any other 3rd part contact app on the iPhone, like RContacts & ContactsXL. They all show the birthday for 03-09-2001, however if you touch the contact to edit - voila, it shows up as 02-09-2001... weired.
I then sync to groupware server and the iPhone sends 03-09-2001 for birthday. Of course the birthday is saved incorrectly on the server and once the iPhone has synched back, the birthday magically change to 03-09-2001 on the iPhone.
When modifying this contact, the birthday is being sent to the groupware server as 04-09-2001.... to be continued.
This is what is happening using CardDAV:
Sent by eGroupware to iPhone:
BEGIN:VCARD
VERSION:3.0
PRODID:-//EGroupware//NONSGML EGroupware Addressbook 1.8//EN
{..}
BDAY:2001-09-02
END:VCARD
changed some NOTES text and iPhone sends it again to eGroupware:
BEGIN:VCARD
VERSION:3.0
PRODID:-//EGroupware//NONSGML EGroupware Addressbook 1.8//EN
{..}
BDAY;value=date:2001-09-03
END:VCARD
When the card was submitted, the iPhone still showed 200-09-02 for birthday and once it saved it and synced it back, guess what:
Birthday was on 2001-09-03! (Of course, because that's what it sent)
But why does the iPhone sends the birthday as 2001-09-03???????
Mind you, only happend for CardDAV sync, activeSync (aka Exchange) works correctly. Maybe Apple have corrected the exchnage bug but have the same still in CardDAV?
But then why are all 3rd party apps showing the birthday wrong too? Cannot be a sync issue only. I guess it's some internal storage problem that only gets corrected when synching via activeSync.
And this is repetitive. So EVERY TIME i edit an address on the iPhone, the birthday shifts another day. Drives me crazy!