首页 > 编程语言 >UTC时间戳(格林尼治时间)转北京时间_Java

UTC时间戳(格林尼治时间)转北京时间_Java

时间:2024-12-18 09:11:45浏览次数:6  
标签:闰秒 UTC Java 自转 地球 时间 GMT

import java.time.ZonedDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        // UTC时间字符串
        String utcTimeStr = "2024-12-18T00:42:46.973028152Z";

        // 解析UTC时间
        ZonedDateTime utcTime = ZonedDateTime.parse(utcTimeStr);

        // 转换为北京时间(UTC+8)
        ZonedDateTime beijingTime = utcTime.withZoneSameInstant(ZoneId.of("Asia/Shanghai"));

        // 格式化输出
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss.SSS");
        String formattedBeijingTime = beijingTime.format(formatter);

        // 输出北京时间
        System.out.println(formattedBeijingTime);
    }
}

 

UTC(协调世界时)和GMT(格林尼治标准时间)在日常生活中经常被混用,因为它们在大多数情况下显示相同的当前时间。然而,它们之间确实存在一些技术上的差异:

  1. 定义

    • GMT:是基于地球的自转来定义的时间标准。它以通过格林尼治天文台的子午线为基准,即本初子午线。GMT不考虑闰秒,因此随着时间的推移,可能会与地球自转的实际时间略有偏差。
    • UTC:是一种国际时间标准,它通过原子钟来保持时间的准确性,并且会根据需要通过添加闰秒来与GMT保持同步。UTC的设计目的是保持时间的精确性,同时与地球自转的日内时间保持一致。
  2. 精确性

    • GMT:由于它基于地球自转,而地球自转速度并不完全恒定,因此GMT的精确性不如UTC。
    • UTC:使用原子钟,这些钟的精确度非常高,并且通过闰秒的调整来补偿地球自转速度的变化,因此UTC更加精确。
  3. 闰秒

    • GMT:不考虑闰秒的添加。
    • UTC:会根据国际地球自转服务机构(IERS)的决定,在必要时添加闰秒,以保持UTC与地球自转时间的同步。
  4. 用途

    • GMT:历史上被广泛用作国际时间标准,但随着UTC的引入,GMT在现代已经较少单独使用。
    • UTC:是目前国际上广泛采用的时间标准,特别是在科学、军事、航空、通信和计算等领域。

总的来说,虽然UTC和GMT在大多数情况下显示相同的当前时间,但UTC是更为精确和科学的时间标准,因为它通过闰秒的调整来保持与地球自转时间的同步。

标签:闰秒,UTC,Java,自转,地球,时间,GMT
From: https://www.cnblogs.com/ashet/p/18613829

相关文章

  • Java基于springboot+vue的抗洪救灾管理系统
    收藏关注不迷路!!......
  • JAVA中多态与super关键字
    多态继承的表现就是多态,一个父类可以有多个子类,而在子类里可以重写父类的方法,每个子类重写的代码又不同,自然表现的形式就不一样如果用父类的变量去引用不同的子类对象,在调用相同的方法的时候得到的结果就和表现形式就不一样了,这就是多态super关键字super(超类):用java术语来讲,被继承......
  • Java基于springboot+vue的打印店预约及取件系统
    收藏关注不迷路!!......
  • Java基于springboot+vue的扶贫惠农推介系统
    收藏关注不迷路!!......
  • java 插入排序,原理、算法分析、实现细节、优缺点以及一些实际应用场景
    更多资源推荐:http://sj.ysok.net/jydoraemon提取码:JYAM实用优质资源/教程公众号【纪元A梦】 ###插入排序的详细解析探讨插入排序,包括其工作原理、算法分析、实现细节、优缺点以及一些实际应用场景。####1.基本概念插入排序是一种简单的排序算法,其核心思想是将数组分为已排......
  • 对javaweb的理解
    今天主要整理了一下javaweb的建立项目思路,在导入一个项目时,遇到了在jsp页面输入的非法字符,删除之后可以正常运行,应该是少了一些配置或者是tomcat不支持那样的字符,需要tomcat中配置一下,目前尝试网上的两种方法之后,tomcat不能启动了,还没找到解决方法。在另一个项目中,构建了许多的页......
  • Java 面试常见问题总结(2025 最新版)
    分析了几百份大中小厂的面经,整理了Java面试中最最最常问的一些问题!目前已经是2025年最新版,针对今年的面试情况又做了完善和补充。涵盖了Java基础、集合框架、并发编程、JVM、操作系统、MySQL、Redis、ES、系统设计、分布式、高并发等知识点的面试题,全部都是面试常问的......
  • 从上千份大厂面经呕心沥血整理:大厂高频手撕面试题(数据结构篇 ,Java实现亲试可跑)
    怎么判断两个链表是否相交?怎么优化?判断两个链表是否相交可以采用多种方法。一种方法是使用双指针。首先分别遍历两个链表,得到两个链表的长度。然后让长链表的指针先走两个链表长度差的步数。之后,同时移动两个链表的指针,每次比较两个指针是否指向相同的节点。如果指向相同......
  • JavaSwing Dialog
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • javaweb不同角色登录到不同页面
    EmployeeService层:packagecom.comple.service;importcom.comple.entity.Employee;importjakarta.servlet.http.HttpSession;publicinterfaceEmployeeService{booleanauth(Stringusername,Stringpassword,HttpSessionsession);StringgetRole(Stringusernam......