时间戳、时间、时区的理解

时间戳、时间、时区的理解

时间戳(s)

以格林威治地区1970-01-01 00:00:00为基准每过一秒加1s得到的一个数值,例如:1703213612
全世界某个时刻的时间戳都是一样的,例如北京时间2023-12-22 10:53:32这个时刻,utc对应时间是2023-12-22 02:53:32,他们的时间戳都是1703213612
示例:
此刻在世界上任何一个地方执行

System.currentTimeMillis();

得到的时间戳都是同一个

时间

就是我们日常看到的北京时间,,全球同一时刻不同时区的看到的时间不同

时区

全球分为24个时区,从-12 到+12,中国在+8区

时间戳转时间

根据上面介绍我们知道时间戳对应的某个时刻,要转换成你的时间就必须带上时区,否则默认按utc时区转换,这样就会存在时间误差。
例如:时间戳1703213612,如果按北京时间转换就是2023-12-22 10:53:32

时间转时间戳

时间转时间戳的时候也是需要指定时区,这样才会将该时间转换为所在时区对于的时间戳。
例如:
2023-12-22 10:53:32按 +8 时区转换得到1703213612

2023-12-22 10:53:32按 +9 时区转换得到1703213612 - 3600 = 1703210012,
因为+9区比+8区快一个小时,所以他只需要更小的时间戳数值(1703213612 - 3600)表示2023-12-22 10:53:32:

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将LocalDateTime转换为特定时区时间戳(秒),可以使用以下代码:localDateTime.atZone(ZoneId.of("时区")).toEpochSecond()。其中,时区可以是任何有效的时区标识符。注意,如果你的系统默认时区不是时区,那么需要手动指定时区来获取正确的结果。 另外,需要注意的是,ANSI SQL中支持使用Java SE 8的日期时间类型,如本地日期时间(LocalDateTime)、带时区的日期时间(ZonedDateTime)等,并可以进行与时区时间戳偏移、间隔时间的计算等操作。这些操作可以根据具体的需求来选择使用。 如果你对Java中的日期时间类型有更深入的理解,可以参考一篇专门讨论新的日期API的文章,其中涵盖了ZonedDateTime、LocalDateTime、Date、Calendar、Instant和Timestamp等类型的比较和区别。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [LocalDateTime转换为时间戳(秒)](https://blog.csdn.net/huang007guo/article/details/129414291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [threeten-jpa:用于JSR-310日期和时间的JPA属性转换器](https://download.csdn.net/download/weixin_42160278/19004558)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值