Bigquery: Getting first day of the week/month in standard SQL
This is better option that works now:
select DATE_TRUNC(date( '2008-12-25 15:30:00'), month)
It looks like BigQuery has a function named TIMESTAMP_TRUNC which may do what you want. It is referenced as the replacement for UTC_USEC_TO_DAY(t) in LegacySQL when used with a Day datepart. It also accepts Week and Month as a parameter which may meet your requirements.
TIMESTAMP_TRUNC(TIMESTAMP '2008-12-25 15:30:00', WEEK, 'UTC')
Here is the page for migrating from Legacy to Standard sql