KNOWLEDGE BASE

NOW() Function Returns UTC Time


Published: 04 Mar 2013
Last Modified Date: 12 Dec 2017

Issue

Using the NOW() or TODAY() function in a calculated field, Tableau Desktop returns UTC time. When using a relative date filter the anchor date will be in the UTC timezone.

Environment

  • Tableau Desktop
  • PostgreSQL
  • Amazon Redshift
  • Live connection

Resolution

Option 1:

Use an extract. For more information, see Extract Your Data.


Option 2:

Use a calculation with the DATEADD() function to account for the time zone offset.

Example 1:

To convert UTC to PST (Pacific Standard Time), the formula:

NOW()

could become:

DATEADD('hour', -8, NOW())

Note: During daylight savings time the time difference between UTC and PDT will be -7 hours.

Example 2:

To convert UTC to PST (Pacific Standard Time) for a relative date filter:

  1. Remove the date filter from the Filters shelf
  2. Select Analysis > Create Calculated Field
  3. In the Calculated Field dialog box that opens, do the following, and then click OK:
    • Name the calculated field. In this example, the calculated field is named "Last 3 Days Filter"
    • In the formula field, create a calculation similar to the following:

      [Date Field] >= DATEADD('day', -3, DATEADD( 'hour', -8, TODAY() ) )

  4. Drag [Last 3 Days Filter] to the Filter shelf.
  5. In the Filter dialog, check True and click OK.

 

Cause

Live connections to Redshift and PostgreSQL are designed to return UTC time due to inconsistencies in how these datasources handle datetime and time zone offsets.

 
Did this article resolve the issue?