Fixed the date filter's timezone not being set correctly with strings

When the date filter is used on a string with a timezone specified, the timezone is ignored because of this : 

    $date = new DateTime($date, $defaultTimezone);
    if (false !== $timezone) {
        $date->setTimezone($defaultTimezone);
    }

Since the date is initialized with `$defaultTimezone` as its timezone, using `$date->setTimezone($defaultTimezone);` has no effect, and the date is displayed without changes since it is considered to already be from this timezone.

Might fix issue #1340
This should be done in the place where you need the default timezone (avoiding to retrieve it all the time for nothing)