返回顶部
首页 > 资讯 > 精选 >jvm中指定时区信息user.timezone问题如何解决
  • 692
分享到

jvm中指定时区信息user.timezone问题如何解决

2023-07-05 04:07:53 692人浏览 安东尼
摘要

本篇内容介绍了“JVM中指定时区信息user.timezone问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题同一份程序使用时

本篇内容介绍了“JVM中指定时区信息user.timezone问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

问题

同一份程序使用时间LocalDateTime类型,在国内和国外部署后,返回的时间信息前端使用出问题。 因为LocalDateTime不带时区信息,国内调用后,前端页面默认使用的浏览器所在os的时区(我们的系统中没有给用户设置时区), 因此会出现时间不一致, 或者判断超时了,但是实际上没有超时的问题。

解决方式:

要么返回timestamp数字类型,前端自己解析。 缺点:直接使用api的同事不方便看操作时间信息。

用户可以可以在个的profile中设置时区,方便各个时区用户在一个系统中操作。 缺点:改动较多。

最后的折中方法:
后端内部使用ZonedDateTime,返回的时间中带上时区信息。 备注:这里应用系统没有使用数据库,因为没有使用数据库时间格式。

这里遇到一个问题,国内机器都是时区为

jvm中指定时区信息user.timezone问题如何解决

SpringBoot 程序启动后,ZoneDateTime 格式默认是"2023-02-16T21:44:31.914407+08:00";

jvm中指定时区信息user.timezone问题如何解决

但是国外的机器不行,依然不带时区信息。

在jvm启动参数中指定时区信息
国内启动不指定时间,os默认的是"Asia/Shanghai"。 国外的启动参数指定为-Duser.timezone=CET

示意:(这里是示意,省略其他参数,实际参数要跟多)
Java -jar -Dspring.profiles.active=dev -Duser.timezone=CET app.jar

具体代码

1,ObjectMapper中设置时区和时间格式

    ObjectMapper mapper = new ObjectMapper();    mapper.findAndReGISterModules();    mapper.setTimeZone(TimeZone.getDefault()); // 在本项目必须有这样,某则有些接口中返回的ZonedDateTime序列化后不带时区信息,添加这行就会带上时区信息    mapper.registerModule(new JodaModule());    mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);    return mapper;

2, 其他区地方解析返回的时间
引入依赖包

<dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.12.2</version></dependency>
import org.joda.time.DateTime;import org.joda.time.fORMat.DateTimeFormat;import org.joda.time.format.DateTimeFormatter;   DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ").withZoneUTC();    //  String str = "2022-02-16T21:44:31.914407+08:00";    String str = "2022-02-17T14:35:48.8932+08:00";    //String str = "2022-02-16T21:44:31+09:00";    DateTime dateTime = formatter.parseDateTime(str);    log.info("dateTime:{}", dateTime);    String strAgain = dateTime.toString(formatter);    log.info("strAgain:{}", strAgain);

“jvm中指定时区信息user.timezone问题如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: jvm中指定时区信息user.timezone问题如何解决

本文链接: https://www.lsjlt.com/news/349382.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jvm中指定时区信息user.timezone问题如何解决
    本篇内容介绍了“jvm中指定时区信息user.timezone问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题同一份程序使用时...
    99+
    2023-07-05
  • 如何解决django时区问题
    这篇文章给大家分享的是有关如何解决django时区问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是U...
    99+
    2023-06-15
  • JVM中如何获取OOM时的堆信息
    这篇文章给大家分享的是有关JVM中如何获取OOM时的堆信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JVM的框架知识了解之后,实际的项目里发生了OOM异常的话,怎么获取以及分析异常信息后怎么分析呢。这里稍微做...
    99+
    2023-05-31
    jvm oom
  • 如何解决php用户信息乱码问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决php用户信息乱码问题?php+mysql的utf-8中文乱码问题的解决方法建议数据库用utf8编码问题汇总:MySQL数据库默认的编码是utf8,如果这种编码...
    99+
    2020-10-19
    php 乱码
  • 如何解决Sqlserver表统计信息丢失问题
    本篇文章为大家展示了如何解决Sqlserver表统计信息丢失问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 从链接服务器查询远程服...
    99+
    2024-04-02
  • win10加载信息流出现问题如何解决
    若在Windows 10中出现加载信息流问题,可以尝试以下解决方法: 清空缓存:打开“设置”应用,选择“系统”,然后选择“存储”...
    99+
    2024-02-29
    win10
  • 如何解决interval 分区表clob默认表空间指定问题
    这篇文章将为大家详细讲解有关如何解决interval 分区表clob默认表空间指定问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2024-04-02
  • 如何解决SysTick定时器错误问题
    这篇文章主要介绍“如何解决SysTick定时器错误问题”,在日常操作中,相信很多人在如何解决SysTick定时器错误问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决...
    99+
    2024-04-02
  • Go语言中如何解决并发定时器问题?
    Go语言中的并发定时器问题是指在多个goroutine同时需要使用定时器时可能会出现的一些并发相关的问题。为了解决这些问题,Go语言提供了一些机制和技巧,本文将详细介绍这些解决方案,并给出代码示例。使用time.TickerGo语言的标准库...
    99+
    2023-10-22
    并发 关键词:Go语言 定时器问题
  • 如何解决js中this指向问题
    本篇文章给大家分享的是有关如何解决js中this指向问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JS中this指向问题相信我,只要记住本...
    99+
    2024-04-02
  • 如何解决使Eclipse崩溃的JVM terminated问题
    这期内容当中小编将会给大家带来有关如何解决使Eclipse崩溃的JVM terminated问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。本文将介绍如何解决JVM terminated令Eclipse...
    99+
    2023-06-17
  • JavaScript this绑定与this指向问题如何解决
    本篇内容主要讲解“JavaScript this绑定与this指向问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript this绑定与this指向问...
    99+
    2023-07-05
  • springboot指定profiles启动失败问题如何解决
    这篇文章主要讲解了“springboot指定profiles启动失败问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot指定profiles启动失败问题如何解决”吧...
    99+
    2023-07-05
  • SQL处理时间戳时如何解决时区问题实例详解
    目录1.问题及解决办法2.时区差相加公式的实例补充:SQL 关于时区的处理案例总结1.问题及解决办法 (1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。...
    99+
    2024-04-02
  • 如何解决React中组件通信问题
    这篇文章将为大家详细讲解有关如何解决React中组件通信问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。父子组件父 → 子parent组件传给child组件,符合rea...
    99+
    2024-04-02
  • golang函数社区中的问题解决指南
    问题:如何解决 go 函数社区中的问题?答案:按照以下步骤进行:仔细阅读错误消息。查看文档。在 stack overflow 上搜索。加入 go 论坛。使用调试器(如果可能)。创建最小可...
    99+
    2024-04-26
    golang 社区教程 网络问题 overflow
  • 如何解决iPhone上缺少彩信消息选项的问题
    尽管有许多不同的社交媒体应用程序可以将图像,音乐文件和视频发送给WhatsApp和Snapchat等其他人,但一些iPhone用户仍然更喜欢将彩信发送给他们的朋友和封闭的朋友。最近,许多iPhone用户认为他们无法从iPhone发送任何彩信...
    99+
    2023-08-19
  • 如何解决mysqldump时域问题
    如何解决mysqldump时域问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天我们就再来讨论一下mysqldump的时域...
    99+
    2024-04-02
  • session超时问题如何解决
    要解决会话超时问题,可以考虑以下几种方法:1. 增加会话超时时间:可以调整系统设置,延长会话超时时间,以允许用户有更长时间进行操作。...
    99+
    2023-09-21
    session
  • mq消息丢失问题如何解决
    这篇“mq消息丢失问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mq消息丢失问...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作