java根据时区转换获取时间的方法
方法一:
public static void main(String[] args) {
// 假设这是从MySQL获取的UTC时间字符串
String utcTimeStr = "2024-09-30T16:00:00Z";
try {
// 解析UTC时间字符串
DateTime parsedDateTime = DateUtil.parse(utcTimeStr);
// 转换为指定时区时间
DateTime shanghaiDateTime = DateUtil.convertTimeZone(parsedDateTime, ZoneId.of("Asia/Shanghai"));
// 转换为GMT时间
DateTime gmtDateTime = DateUtil.convertTimeZone(parsedDateTime, ZoneId.of("Etc/GMT"));
// 格式化输出
System.out.println("格式化输出"+shanghaiDateTime);
// 输出GMT时间
System.out.println("输出GMT时间"+gmtDateTime);
// 格式化输出
String format1 = DateUtil.format(shanghaiDateTime, "yyyy-MM-dd HH:mm:ss");
String format2 = DateUtil.format(gmtDateTime, "yyyy-MM-dd HH:mm:ss");
// 输出转换后的时间字符串
System.out.println("格式化[Asia/Shanghai]输出"+format1);
// 输出GMT时间字符串
System.out.println("格式化[Etc/GMT]输出"+format2);
} catch (Exception e) {
System.err.println("时间解析或转换失败: " + e.getMessage());
}
}
控制台输出如下:
格式化输出2024-10-01 00:00:00
输出GMT时间2024-09-30 16:00:00
格式化[Asia/Shanghai]输出2024-10-01 00:00:00
格式化[Etc/GMT]输出2024-09-30 16:00:00
方法二:
/**
* 时间字符串转换为指定时区时间字符串
* @param dateStr 时间字符串
* @param zoneId 时区ID
* @return 指定时区时间字符串
*/
private static String timeZoneConvert(String dateStr, String zoneId) {
DateTime parse = DateUtil.parse(dateStr);
log.info("原始时间:{}", parse);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
// 设置时区:例如:Asia/Shanghai
sdf.setTimeZone(TimeZone.getTimeZone(zoneId));
String str = sdf.format(parse);
log.info("转换后时间:{}", str);
return str;
}
public static void main(String[] args) {
// UTC时间字符串转化为指定时区时间字符串
String dateStr = "2024-09-30T16:00:00Z";
// 时区ID
String zoneId = "GMT+8";
// 时间转换处理
String dateFormatStr = timeZoneConvert(dateStr, zoneId);
// 输出转换后的时间字符串
System.out.println("原始时间字符串:" + dateStr);
// 输出转换后的时间字符串
System.out.println("转换后的时间字符串:" + dateFormatStr);
}
控制台输出如下:
0:54:12.158 [main] INFO com.songwp.test.Test05 - 原始时间:2024-09-30 16:00:00
10:54:12.161 [main] INFO com.songwp.test.Test05 - 转换后时间:2024-10-01 00:00:00
原始时间字符串:2024-09-30T16:00:00Z
转换后的时间字符串:2024-10-01 00:00:00
java根据时区转换获取时间的方法的更多相关文章
- Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间
ylbtech-Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间 1.返回顶部 1. Java 实例 - 时间戳转换成时间 Java 实例 以下实例演示 ...
- js(jQuery)获取时间的方法及常用时间类搜集
获取时间的方法及常用时间类都是大家经常使用的,在本文为大家整理了一些,个人感觉还比较全,感兴趣的朋友可以收集下 复制代码代码如下: $(function(){ var mydate = new D ...
- 浅谈Java反射机制 之 获取类的 方法 和 属性(包括构造函数)
上一篇 获取 类 的字节码文件 我们讲到了获取类的字节码文件的三种方法 第三种方法通过getClass("全路径名")获取字节码文件最符合要求 1.获取构造方法 先贴上我们要获取的 ...
- java字符串大小写转换的两种方法
转载自:飞扬青春sina blogjava字符串大小写转换的两种方法 import java.io..* public class convertToPrintString { pu ...
- Java向mysql中插入时间的方法
ava向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的 ...
- Java从服务器上获取时间,动态在jsp页面显示
Java获取服务器时间,动态显示到jsp页面,大家都是到Java只能获取一次,到页面的时间是静态的,不过通过js和Java的合作,巧妙地实现此功能 本人是给电视做系统,客户要求页面能显示时间,因为电视 ...
- Java反射机制 之 获取类的 方法 和 属性(包括构造函数)(Day_06)
把自己立成帆,才能招来凤. 运行环境 JDK8 + IntelliJ IDEA 2018.3 本文中使用的jar包链接 https://files.cnblogs.com/files/papercy ...
- JavaScript创建和获取时间的方法
一.获取时间常用方法 1.创建时间对象 var time=new Date() //创建当前的时间信息对象 var time1=new Date(2022,1,1,10,25,30) //创建2022 ...
- Java不同时区(timezone)之间时间转换
最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间. 一.关于时区的一些概 ...
- js(jQuery)获取时间的方法及常用时间类
获取JavaScript 的时间使用内置的Date函数完成 var mydate = new Date();mydate.getYear(); //获取当前年份(2位)mydate.getFullYe ...
随机推荐
- [Linux]yum下载慢!!
有全局代理,但是yum下载特别慢,怎么办? 确保/etc/yum.conf文件中代理配置的语法正确,包括代理服务器的地址和端口号,如下所示: proxy=http://your_proxy_serve ...
- 【Python自动化】之利用JS操作页面滚动条(新)
如何操作页面中的滚动条,有以下几个方法: 一.查找可见元素进行滚动页面(通用) 方法一: ①移动到元素element对象的"顶端",与当前窗口的"顶部"对齐(默 ...
- Coursera, Big Data 5, Graph Analytics for Big Data, Week 1/2
Graph表示 1. adjacency matrix最简单的一种表示:行是From 列是To, 这种表示是稀疏矩阵 2. 另一种表示,如下图,很多graph数据库用这种,是的数据库操作更有效率 us ...
- P7706 「Wdsr-2.7」文文的摄影布置
题意 给定长度为 \(n\) 的数组 \(a\) 和 \(b\),支持单点修改,\(q\) 次区间查询 \(\max_{l\le i<k\le r} \{a_i + a_k - \min_{i& ...
- 【论文解读】transformer小目标检测综述
一.简要介绍 Transformer在计算机视觉领域迅速普及,特别是在目标识别和检测领域.在检查最先进的目标检测方法的结果时,我们注意到,在几乎每个视频或图像数据集中,transforme ...
- Angular 18+ 高级教程 – Angular CLI
前言 这篇会列出我开发中常用的 command. 并给予一些简单的说明 Command Format 先了解一下几个简单的 command 格式: 缩写 shortform 这个是完整版 ng gen ...
- 推荐3款卓越的 .NET 开源搜索组件库
前言 最近有不少同学提问:.NET有哪些开源的搜索组件库可以推荐的吗?,今天大姚给大家推荐3款卓越的 .NET 开源搜索组件库,希望可以帮助到有需要的同学. Elasticsearch .NET El ...
- Element——前端样式美化
Element 简介 Element 快速入门 https://element.eleme.cn/#/zh-CN/component/button Element 布局 ht ...
- map的线程安全,boost库读写锁的实现
*************** map的线程安全 ******************** * * 参考1 * map要实现线程安全必须要加锁,如果使用mutex会产生大量的线程等待,可以 ...
- cobalt strike安装教程
将本地IP和密码填入:./teamserver 192.168.xx.xx 密码 启动成功