Oracle apex 在Oracle Apex中设置自动时区时出错

Oracle apex 在Oracle Apex中设置自动时区时出错,oracle-apex,Oracle Apex,我将数据中的日期(在数据表中保存为“到期日”,作为日期数据类型,不含时间)与oracle apex应用程序中许多页面中的当前_日期进行比较。例如,我有一个页面,通过检查记录的到期日是否与当前的_日期相等,在交互报告中显示“今天到期的项目”,类似地,另一个页面显示了到期日后的项目。SQL查询生成正确的报告,但问题是当前日期是根据我们(PDT/UCT7)时间计算的,这比我当前所在地区的时间晚了-9小时,因此我的页面仅在下午显示正确的结果 我研究并发现,在应用程序的全球化属性中将应用程序时区设置为自动

我将数据中的日期(在数据表中保存为“到期日”,作为日期数据类型,不含时间)与oracle apex应用程序中许多页面中的当前_日期进行比较。例如,我有一个页面,通过检查记录的到期日是否与当前的_日期相等,在交互报告中显示“今天到期的项目”,类似地,另一个页面显示了到期日后的项目。SQL查询生成正确的报告,但问题是当前日期是根据我们(PDT/UCT7)时间计算的,这比我当前所在地区的时间晚了-9小时,因此我的页面仅在下午显示正确的结果

我研究并发现,在应用程序的全球化属性中将应用程序时区设置为自动将解决这个问题,但当我设置自动时区时,我的应用程序将完全停止工作并停止运行。“设置时区”页面显示微秒,但甚至不允许用户设置时区,页面重定向并显示以下错误

任何解决这一严重问题的建议都将受到高度赞赏:(

您提到日期存储在日期类型的表中。在应用程序中设置“自动时区”不会改变任何内容。它设置数据库会话时区,用于数据类型为“带本地时区的时间戳”的列。数据类型“日期”不知道时区。 为了确保您的用户在世界各地的每个地区都能看到相同的信息,您应该将日期信息存储在数据类型为“TIMESTAMP WITH LOCAL timezone”的列中。SYSDATE的“timezone sensitive”等价物是CURRENT_TIMESTAMP

乔尔·卡尔曼很久以前就写过一篇关于这一点的博客,描述了这种情况


包含日期的列的数据类型是什么?@KoenLostrie日期当前仅保存为“日期”数据类型。请参阅我的答案。“日期”数据类型不支持时区。