Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 开发了解用户时区的web服务_Java_Web Services_Datetime_Internationalization - Fatal编程技术网

Java 开发了解用户时区的web服务

Java 开发了解用户时区的web服务,java,web-services,datetime,internationalization,Java,Web Services,Datetime,Internationalization,我正在java上开发一个客户机-服务器应用程序。服务器通过web服务提供一些操作。应用程序必须根据用户的自定义日期和时间显示某些内容;从web服务检索的信息。不同的用户可能处于不同的时区 我一直在考虑如何在服务器上存储用户的自定义时区,并向用户提供正确的内容,例如,当调用操作getTodayEvents时 用java实现这一点的最佳实践是什么?是的,您可以将时区信息存储到用户的详细信息表中。根据这一点,您可以从web服务提供服务。我认为这是最好的方法。有两种方法: 1让用户在其帐户设置中选择时区

我正在java上开发一个客户机-服务器应用程序。服务器通过web服务提供一些操作。应用程序必须根据用户的自定义日期和时间显示某些内容;从web服务检索的信息。不同的用户可能处于不同的时区

我一直在考虑如何在服务器上存储用户的自定义时区,并向用户提供正确的内容,例如,当调用操作getTodayEvents时


用java实现这一点的最佳实践是什么?

是的,您可以将时区信息存储到用户的详细信息表中。根据这一点,您可以从web服务提供服务。我认为这是最好的方法。

有两种方法:

1让用户在其帐户设置中选择时区,并将其与用户详细信息一起存储

这种方法的问题是,用户从不同的时区登录,处理夏令时可能会很复杂,您必须实现一种用户友好的时区选择机制

2将以下内容或类似内容放入登录页面,并让提交操作将tzo的值作为隐藏的表单参数发送到服务器

<script type="text/javascript" language="javascript">
<!--
   var tzo=(new Date().gettimezoneOffset()/60)*(-1);
   // -->
</script>

这巧妙地避免了第一种方法的问题。唯一的问题是,如果用户禁用了Javascript,它将不起作用。

一句忠告:当你的代码有重要的日期相关逻辑,如果它考虑了时区,那么它就有了,让你自己免于痛苦和使用。与Java的日期和日历的邪恶结合不同,Joda Time的API通常会推动您以正确的方式做事