static function getISO8601($timezone = null) { if (Timezone::isGMT()) { return 'Z'; } else { return sprintf("%+03d:%02d", intval(Timezone::getOffset() / 3600), abs(Timezone::getOffset() / 60 % 60)); } }