intra-mart Accel Platform 脚本开发模式编程指南 第16版2020-04-01

总览

什么是时区支持?

时区支持是一种用于正确转换时区的机制,以便可以在全球范围内比较,转换和使用日期和时间数据。
这包括系统自动识别夏令时以及转换日期和时间数据的过程。
为了使用户能够在适合他们的时区中参考日期和时间数据,必须为每个用户设置时区。
如果每个用户的日期和时间数据的时区不同,则该信息将无法有效使用。
因此,系统应存储根据统一时区转换的日期和时间数据。
../../../../_images/timezone_guide.png

intra-mart Accel Platform时区支持

intra-mart Accel Platform中intra-mart以下五个时区组件元素可用。
  • 时区定义
定义了intra-mart Accel Platform使用的时区。
  • 在统一时区中转换和保存日期和时间数据
日期和时间数据在统一的时区中转换并存储在数据库中。
  • 时区分辨率
用户可以在intra-mart Accel Platform注册想要使用的时区。
如果您未注册,则将应用自动解析的时区。
请参考所定义的访问上下文以了解时区解析顺序。
  • 在用户时区中转换日期和时间数据
要在屏幕上显示日期和时间数据,必须在用户的时区中进行转换。
  • 夏令时

时区定义

初始时区定义

在初始状态下, intra-mart Accel Platform定义的时区请参考以下内容。
  • 时区主文件
intra-mart Accel Platform定义intra-mart时区在XML“时区主文件”中进行了描述。
初始系统默认时区为JDK时区。
  • 配置文件

    %CONTEXT_PATH%/ WEB-INF / conf /时区配置/ im-time-zone-config.xml

在统一时区中转换和保存日期和时间数据

系统要求

为了将日期和时间数据作为系统侧相同时区中的数据进行处理, intra-mart Accel Platform的操作环境具有以下限制。
  • 将TIMESTAMP类型用于存储日期和时间数据的DB 数据类型
SQL Server使用datetime或datetime2。

注意

intra-mart Accel Platform ,建议在存储日期和时间数据的DB列中使用TIMESTAMP类型,以确保在转换时区时日期和时间数据的一致性。
对于带时区的TIMESTAMP类型,由于时区转换取决于数据库规范,因此intra-mart Accel Platform无法保证日期和时间数据的一致性,因此,请勿使用带时区的TIMESTAMP类型。
  • 日期和时间数据被转换并保存在系统默认时区中
系统默认时区与JDK时区相同。
  • 在分布式环境中,统一所有Java VM的时区
  • 操作开始后Java VM时区不变

夏令时

什么是夏令时?

这意味着系统采用一个时区,该时区会向当前时间(或相加的时间)添加一定量的时间,以便有效利用夏季阳光下的时区。
根据当地的政治局势,执行时间和调整时间是不确定的。而且,可能不确定是否要实施。

支持intra-mart Accel Platform夏令时

intra-mart Accel Platform ,使用Java提供的夏时制信息,并且夏时制自动应用于相应的时区。