【Java】时差问题,格林威治时间(GMT)与北京时间转换

news/2024/11/15 6:59:41/

格林威治时间加上8h即为北京时间
本文以格林威治时间转为北京时间为例,若需将北京时间转为格林威治时间只需将文中+8改为-8即可

1. 时间格式为:2021-01-04T04:16:23.609Z

此处T为分隔符,Z为时区

package org.example;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;//时间格式为:2021-01-04T22:15:06.714Z
public class Time {public static void test(String date) throws ParseException {//设置时间格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");//将输入时间转换为mssdf.parse(date).getTime();Calendar cal = Calendar.getInstance();cal.setTimeInMillis(sdf.parse(date).getTime());System.out.println("格林威治时间:" + cal.getTime());cal.add(Calendar.HOUR, +8);System.out.println("北京时间:" + cal.getTime());}public static void main(String[] args) throws ParseException {test("2021-01-04T04:16:23.609Z");}
}

结果:
在这里插入图片描述

2. 时间格式为:2021-01-04 04:16:23.609

package org.example;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;//时间格式为:2021-01-04 22:15:06.714
public class Time {public static void test(String date) throws ParseException {//设置时间格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//将输入时间转换为mssdf.parse(date).getTime();Calendar cal = Calendar.getInstance();cal.setTimeInMillis(sdf.parse(date).getTime());System.out.println("格林威治时间:" + cal.getTime());cal.add(Calendar.HOUR, +8);System.out.println("北京时间:" + cal.getTime());}public static void main(String[] args) throws ParseException {test("2021-01-04 04:16:23.609");}
}

结果:
在这里插入图片描述

3.当前时间

package org.example;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;//时间格式为:2021-01-04 22:15:06.714
public class Time {public static void test() throws ParseException {Date nowTime = new Date();Calendar cal = Calendar.getInstance();cal.setTimeInMillis(nowTime .getTime());System.out.println("格林威治时间:" + cal.getTime());cal.add(Calendar.HOUR, +8);System.out.println("北京时间:" + cal.getTime());}public static void main(String[] args) throws ParseException {test();}
}

结果:
在这里插入图片描述


http://www.ppmy.cn/news/593525.html

相关文章

微软电脑怎么设置时间服务器地址,如何配置Internet时间设置,让电脑时间与北京时间分秒不差...

分秒不差的时间在如今这个时代什么时候最有用呢?呵呵,就是秒杀商品时。之前天猫搞了一个秒杀活动,就因为Microsoft酋长相信了电脑上的时间,结果比准确的北京时间晚了10多秒,错过了时机。而且今天Microsoft酋长之所以写…

关于分行数字化转型工作的几点思考

关于分行数字化转型工作的几点思考 作者:北京银行盛瀚 1、数字化转型到底是什么? 目前不论是从国家战略层面还是地方政府重点工程,乃至企业规划报告,数字化转型是被提及最多的字眼之一,尤其是《“十四五”数字经济发展…

C/C++ 时间知识总结

文章目录 C/C 中时间的概念常用的时间库函数time()asctime()gmtime()ctime()localtime()mktime()strftime()difftime() C/C 获取当前(本地)时间的方法方法一方法二方法三方法四方法五 C/C 中时间的概念 Unix 时间戳(Unix timestamp&#xff…

将UTC时间(2018-07-03T10:18:58.000Z)转换为北京时间

2018-07-03T10:18:58.000Z是什么时间格式 UTC:时间标准时间,世界标准时间 ✅ GMT:格林尼治时间 GST:北京时间 js如何处理UTC时间格式 遇到问题:用了阿里云的接口,发现传的日期是UTC格式的。需要转换。…

mysql显示的是北京时间,现在只取时间或只取日期

一、如图,显示的是北京时间,现在只取时间或只取日期, 用date_format这个函数 1、只取时间 ,DATE_FORMAT(date,format),date 参数是合法的日期,format 规定日期/时间的输出格式。 可以使用的格式有&#xf…

js如何获取计算机当前时间,js获取当前系统时间

var myDate new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) …

UTC时间 GMT时间 本地时间 北京时间 时区 夏令时简要说明

1.UTC时间 与 GMT时间 整个地球分为二十四时区,每个时区都有自己的本地时间。为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国…

linux 同步北京时间 局域网同步时间

如果不是北京时间先改成北京时间 读取当前时间 timedatectl 设置时区为亚洲/上海 timedatectl set-timezone Asia/Shanghai 1.删除自带的localtime rm -rf /etc/localtime 2.创建软链接到localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 在同步时间…