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
.