将服务器时间更改为我们本地机器在Java中的时间

时间:2014-02-14 15:17:57

标签: java timezone

我正在开发一个在全球范围内使用的Web应用程序(在jsp中)。 现在我需要将日期和时间更改为特定于本地机器(在java中)。

例如,我的网络服务器位于美国,而来自印度的客户端打开应用程序,然后应用程序应更改IST(印度标记时间)格式的所有日期和时间。

实际上,我要找的是这样的 -

import java.text.DateFormat; 
import java.util.Date; 
import java.util.TimeZone; 
import java.text.SimpleDateFormat;

public class TZConvert { 
    public static void main(String[] args) throws Exception {
       SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss");
       Date date1 = format.parse("14-Feb-2014  14:40:00");

       DateFormat localDf = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);  

       System.out.println("local : " + localDf.format(date1)); 

    }  
}

我希望“date1”的值应该在不同的时区发生变化。如果一个人来自EST时区,他应该看到这个日期和时间(2014年2月14日14:40:00),如果一个人打开申请,他应该看到“2014年2月15日01:10:00”。

1 个答案:

答案 0 :(得分:0)

好的,这是每个人都有的广泛问题。正确?

您需要做的是通过Javascript在您的客户端代码中定义部分i18n内容(意味着本地化),其余部分在您的服务器上。对于客户端,Javascript是一种功能强大的语言,可以从客户端的浏览器或HTML5中的位置API接收内容,并以自己的方式呈现它们。原生Javascript API并不是很强大,无法定义这样的问题,因此很多图书馆都很有名,可以帮助您实现这一目标。例如,检查MomentJS。在服务器端,您还需要处理诸如接收客户端已登录的本地时间等内容。为此,没有那么多的图书馆可以完成这项工作,但请看JODA open source library

然后在与他们玩之后,回到这里,更多的库特定问题。我认为这是一个不错的开始。

祝你好运!