国际业务跨越多个时区的数据处理方案

        国际业务跨越多多个国家或者地区的时候,业务数据也会随着时区的不同产生不统一的发生时间,这就会给数据抽取,加载,清洗,统计等多个环节带来很多问题。下面文章介绍一种较为简单的数据处理方案。

单一时区的数据

业务表需要字段
城市编号业务时间
DLD2021/1/1 12:13

业务表中只需要有业务发生时间即可,数据的ETL和数据的统计分析基于业务发生的事件就能完成。

对于跨越多个时区的数据

业务表需要字段 
城市编号时区业务时间业务日期UTC时间
DLD-52021/1/1 12:13202101012021/1/1 7:13

业务表中加入时区,业务日期和UTC时间,另外新建一张时区维度表

时区维度表
日期城市编号时区是否夏时令是否冬时令偏移量
20210101DLD-510-4

日期月业务表中的业务日期对应,城市编号对应业务表中城市编号。同时考虑有些国家和地区采用夏时令和冬时令的情况,结合时区、UTC时间、夏时令和冬时令计算出与UTC时间的差值作为时间偏移量。

在进行数据统计的时候,业务表和维度表通过业务日期和城市编号做连接,把UTC时间加上偏移量作为业务的发生时间。后续就可以把数据当作单一时区的数据处理。

关于调度问题:

时区不一致,要重新设置时区

查看并修改 本地时区

查看
more /etc/localtime
备份:
cp /etc/localtime /etc/localtime.bak
设置本地时区
设置本地时区为 Shanghai
cp -pf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改 Contab 时区
vim /etc/crontab
添加变量 CRON_TZ=Asia/Shanghai

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在HTML中显示时区时间可以通过使用`<span>`标签结合JavaScript实现。首先在HTML中创建多个`<span>`标签,分别用于显示不同国家的当前时间。然后在JavaScript中获取当前时间并根据不同国家的时区进行调整,最后更新每个`<span>`标签的内容以显示当前时间。 以下是示例代码: ```html <!DOCTYPE html> <html> <head> <title>多个国家时区时间显示</title> </head> <body> <h1>多个国家时区当前时间</h1> <div> <h3>美国纽约:</h3> <span id="us-time"></span> </div> <div> <h3>中国北京:</h3> <span id="cn-time"></span> </div> <div> <h3>英国伦敦:</h3> <span id="uk-time"></span> </div> <script> function displayTime() { var usTime = new Date().toLocaleString("en-US", {timeZone: "America/New_York"}); var cnTime = new Date().toLocaleString("zh-CN", {timeZone: "Asia/Shanghai"}); var ukTime = new Date().toLocaleString("en-GB", {timeZone: "Europe/London"}); document.getElementById('us-time').innerText = usTime; document.getElementById('cn-time').innerText = cnTime; document.getElementById('uk-time').innerText = ukTime; } // 每秒更新一次时间 setInterval(displayTime, 1000); </script> </body> </html> ``` 上述代码中,首先在HTML中创建了用于显示美国纽约、中国北京和英国伦敦当前时间的`<span>`标签。然后在JavaScript中定义了`displayTime`函数,该函数获取当前时间并根据不同时区进行调整,并将结果更新到相应的`<span>`中。最后通过`setInterval`函数每秒钟更新一次时间。这样就能够实现在HTML页面上显示多个国家的当前时间。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值