因此,通过阅读AWS Quicksight文档,我发现了以下信息。
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")
但是,这总是引发错误“此函数的参数个数不正确”。
任何建议都值得赞赏。
答案 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现在支持所有日期函数(和字符串函数)