Spring boot 2.x 项目如何兼容不同时区的客户?

查看 69|回复 3
作者:coderstory   
目前有个 spring boot 2.7.15 的项目,已经开发了很多的功能。突然来了一个需求,存在美国的客户,如果是美国的客户打开的页面,时间数据都需要转换成美国客户的当地时区对应的时间,客户插入的数据对于在中国的客户而言,需要转换成 CST 时区的时间。
也就是一个系统兼容多个时区的客户,时间需要都需要基于客户的时区处理掉。
目前主要涉及的场景挺多的,比如 mysql 的数据查询和查询,查询的话用户给的时间筛选条件都得处理,查询结果中的时间类型的值需要处理,java 代码中的 LocalDate.now()之类的时间创建操作也要处理。表单提交的时间值都需要处理。。。
整理一下,大概有如下场景需要处理
1.各种接口请求参数 这个可以 AOP 拦截 全部处理掉
2.java 代码中的时间创建
3.数据库中的时间创建 比如使用了 insert values (now()) 这种函数 或者时间字段设置了默认值
4.数据库查询返回了时间值
5.调用外部接口返回的值中的时间
....
需求目前只是大致的分析了一点,不知道各位大佬是否经历过这样的需求?给一点点经验吧

时区, 客户, 查询, 处理

crazyweeds   
国际化项目,用时间戳吧。
psx2019   
永远只存绝对时间戳,时区什么的是前端需要考虑的问题.
shengchen11   
都用时间戳,前端处理时区
您需要登录后才可以回帖 登录 | 立即注册

返回顶部