One common problem I experienced with the iPhone 4 when I picked mine up about a month ago is the synchronization of events on my iPhone and Google Calendar. If you haven't done so already, Google's written a nice guide on how to sync your iPhone with Google Calendar that you can follow.
There's been many occasions where I've added an event to my iPhone and it shows up 3 hours later on my Google Calendar (any the other way around). I found the extremely bizarre. I would get alerts, if I set them for the event, hours later (it also displayed PST, which is clearly not the time zone I'm in. I'm in EST!) So I decided to see what other's have said about this. I tweeted it about, asked friends, but I couldn't figure out what caused this problem.
In the end, there is a very simple fix to it. Follow these steps and hopefully it will solve this problem on your phone:
2. Mail, Contacts, Calendars
3. Scroll down to the bottom and change the Time Zone Support to your designated city.
Simple eh? The whole time, I was looking in Settings > General > Data & Time > Time Zone.
It may be best to set this to your designated city too. This time zone option, if I'm correct, is the setting for the phone. The time zone setting under Mail, Contacts, and Calendars is for those applications. They all must be in sync in order for Google Calendar to recognize that yes, we are in the EST time zone.
I hope this helps fix your calendar problem on your iPhone. If this didn't solve the problem, leave a comment below and I, or other readers, will try and give you other options to go abouts fixing it.