wrong php date()?

This could probably make exquisite debugging session, but taking in account it’s Friday evening – just use date_i18n() instead and let WordPress deal with a huge mess that time/date issues usually are.