I just solved this problem.
Previously even though I carefully selected the right time zone every time I entered a calendar event in my iPhone, when it displayed, it showed a different time - 4 hours later.
So this is what I did.
First I opened iCloud and checked my settings to see that I was showing my current time zone, Atlantic Standard Time, correctly. Then I went into Settings on my iPhone, selecting 'Mail, contacts and Calendar' and checked the time zone setting in Calendars. It was showing a different time zone - London - so I changed it to my current location and now all my calendar entries show up at the correct time on my iPhone.
Hope that helps everyone who has been having this problem.
Mike