在跨境电商中,时间的存储和使用是否恰当,是衡量应用系统架构设计的一个重要指标。下文我将结合跨境电商的实际,来阐述我的简单思路。
我们从各个跨境平台获取到的时间,存在多种格式。那么,我们可以在原始业务表原样存储,流转到业务中间表里需要先进行统一格式化为格林威治时间戳,再增加一个字段来保留原始时区。另外需要一个时区字典表(储存在redis),字段应包含国家、时区、时区对应的时间戳(东为正,西为负)字段;当业务接口需要根据时间范围进行查询时,传入时间与对应的时区就可以查询出对应的格林威治时间戳与时区的时间戳,再通过函数转换即可以得出对应时间。
这样就比较优雅的解决了跨境电商的时区尴尬。(冬夏令时判断 TimeZone.inDaylightTime)