在AWS Quicksight中将日期显示为本地Timzone,而不是UTC

时间:2018-11-09 23:00:18

标签: amazon-web-services amazon-quicksight

因此,通过阅读AWS Quicksight文档,我发现了以下信息。

  

Handling Date Time Zones:

     

Amazon QuickSight使用UTC时间查询,过滤和显示日期数据。   如果日期数据未指定时区,则Amazon QuickSight将采用UTC值。当日期数据确实指定了时区时,Amazon QuickSight会将其转换为以UTC时间显示。例如,将时区偏移为2015-11-01T03:00:00-08:00的日期字段转换为UTC并在Amazon QuickSight中显示为2015-11-01T15:30:00。

我在Quicksight中分析的Athena数据集中有一系列日期。我希望能够在Quicksight中以本地时区表示形式而不是以UTC格式查看这些日期。谁能建议这是最好的方法,或者有可能吗?看来,如果我使用诸如formatDate()之类的计算字段函数,甚至使用“ AT TIME ZONE”的自定义SQL,那么我的日期列都将转换为字符串。然后,将这些字符串转换回日期的任何尝试都只是将日期转换回UTC格式。

我尝试使用以下方法转换返回的日期字符串:

parseDate({NEWDATE}, "yyyy-MM-dd HH:mm:ss.SSS ZZZ", "Australia/Melbourne")

但是,这总是引发错误“此函数的参数个数不正确”。

任何建议都值得赞赏。

5 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。作为一种解决方法(不处理DST),可以使用addDateTime函数。

例如:

  • 计算的文件名:datetimemelbourne
  • 公式:addDateTime(11, 'HH', {datetime})

答案 1 :(得分:1)

formatDate返回不支持SPICE的字符串和parseDate存在相同的问题。最后,以下解决方案对我来说效果很好。

parseDate(formatDate({DATE}, 'yyyy-MM-dd', 'America/New_York'))

formatDate在所需的时区中返回字符串,而parseDate会将其转换回日期。由于SPICE的parseDate问题,我没有找到保留时间的方法,但是由于我担心日期,所以这没什么大不了的。

答案 2 :(得分:1)

这对我有用: parseDate(toString(formatDate({your_date_time_field},'MM-dd-yyyy HH:mm:ss','America / New_York')), 'MM-dd-yyyy HH:mm:ss' )

答案 3 :(得分:0)

您将要使用formatDate,而不是parseDate。应该看起来像这样:

formatDate({your date field},"MM/dd/yy HH:mm",'America/Los_Angeles')

parseDate用于将字符串转换为日期。

答案 4 :(得分:-1)

(因为我是新用户,所以它不会让我对以前的答案/评论发表评论)

此外,仅供参考,SPY现在支持所有日期函数(和字符串函数)