STATA中显示时间戳错误

探讨了在STATA软件中UNIX时间戳转换为%tc格式时遇到的时间不一致问题,并提供了一种有效的解决方案。该方案通过特定公式将UNIX时间戳调整为STATA能正确解析的格式。

TATA中声明时序时将UNIX时间戳转成%tc时钟格式出现时间不一致的问题以及一种可行解决方法(后来发现SPSS、excel等软件也会有类似问题)

1. 问题展现

UNIX时间戳在STATA中直接更改为%tc格式的结果如下表所示。

序号时间戳tsSTATA %tc格式显示结果对应的正确时间
1159039469019jan1960 09:46:34:69025may2020 08:18:10:000
2159039470019jan1960 09:46:34:70025may2020 08:18:20:000
3159039471019jan1960 09:46:34:71025may2020 08:18:30:000

然而,时间戳对应的时间(UTC+8)应如下图所示。
时间戳对应的北京时间(UTC+8时间)

2. 解决方法及原理

2.1 直接上公式

  • 将UNIX时间戳记为:ts
    将stata可正确转换的时间戳(后简称“stata时间戳”)记为:ts_stata
    那么:
         ts_stata=(ts+315619200)*1000

2.2 公式解释

2.2.1 UNIX时间戳与stata时间戳

  • UNIX时间戳是从格林威治时间(UTC+0)1970年01月01日00时00分00秒起至现在的总
  • stata时间戳是从格林威治时间(UTC+0)1960年01月01日00时00分00秒起至现在的总豪秒

2.2.2 公式中的数字

  • 1000:秒到毫秒的转换
  • 315619200:从1960年到1970年的总秒数。
         315619200=(366*3+366*7)*24*60*60*1000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值