Default Timezone setting in WordPress – is that global?

I think the safest way to handle it is to use the API to get the local time as set in WordPress settings-

$today = date( 'd M Y - D - h:i A', current_time( 'timestamp' ) );

EDIT- apparently current_time also accepts a PHP date string now as of version 3.9, so you can use that directly in place of date.