Question: UDF:

```
bigquery.defineFunction(
  'newdate',                           // Name of the function exported to SQL
  [],                    // Names of input columns
  [
    {name: 'date', type: 'timestamp'}
    , {name: 'datestr', type: 'string'}
  ],
  function newDate(row, emit) {
    var date = new Date();  // current date and time

    emit({
      date: date
      , datestr: date + ''
    });
  }
);

```

SQL:

```
SELECT date, datestr
FROM (newDate(SELECT "ignored" AS inputA))

```

Output:

```
1459282876835809    Tue Mar 29 2016 13:21:16 GMT-0700 (PDT)  

```

Answer: 
That's an unfortunate oversight on our part.

Many Google servers run using Pacific time (semi-jokingly referred to as "Google standard time"). When launching BigQuery, we tried to standardize on UTC instead, but we missed this case. We may try to find an opportunity to fix it, but unfortunately we risk breaking existing users if we do so, so no promises.

Thanks for the heads up!
Don't know rationale for running in Pacific time zone, but you just ignore the system time zone, and use UTC time in your code. 

E.g. use `datestr: date.toUTCString()` instead of `datestr: date + ''`.