将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告相关的知识,希望对你有一定的参考价值。

要求:当用户在浏览器中选择导出报告为CSV时,将一些数据导出为csv文件。

前端 - Angular 5后端 - Spring Boot 1.5.10.RELEASE

我们将在服务器上生成报告,然后将其发送到浏览器。该报告包含日期,需要在浏览器的时区中显示。什么是实现这一目标的最佳方式?我是否必须将时区作为URL请求参数发送?

答案

您可以将方法argumentTimeZone添加到控制器,然后获取时区。这是一个例子:

@RequestMapping
public String foo(..., TimeZone timezone, ...)
{
logger.info("This is the client timezone: " + timezone.getDisplayName());
}

根据Spring Documentation,如果可用,可以使用RequestContext.getTimeZone()方法获得用户的时区。正如评论中所提到的,LocaleContextResolver可用于获取用户时区。

请注意,浏览器默认标头没有任何客户端的时区信息。您必须手动添加此信息。

以上是关于将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JWT 从前端(角度 4)将密钥传递到后端(节点 js)

使用 angularjs 将图像传递到后端

如何将图像从前端(reactjs)传递到后端(nodejs)并将其上传到firebase存储?

如何正确地将 blob 从前端传递到后端?

GraphQL - 参数未在突变中传递到后端

小程序参数传递