我正在开发一个在全球范围内使用的Web应用程序(jsp)。现在我需要将日期和时间更改为特定于本地机器(在 java 中)。
例如,我的 Web 服务器位于美国,来自印度的客户端打开了应用程序,然后应用程序应以 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 时区的人,他应该看到这个日期和时间 (14-Feb-2014 14:40:00),如果一个人打开应用程序,他应该看到"15-Feb-2014 01:10:00"。
所以这是每个人都有的广泛问题。右?
您需要做的是通过 Javascript
在客户端代码中定义 i18n 内容的一部分(即本地化),其余部分在服务器上定义。对于客户端,Javascript是一种强大的语言,可以从HTML5中的客户端浏览器或位置API接收内容,并以自己的方式呈现它们。原生Javascript API不是那么强大,无法定义此类问题,因此许多库都以帮助您实现这一目标而闻名。例如,检查MomentJS。在服务器端,您还需要处理诸如接收客户端登录的本地时间之类的事情。为此,没有那么多库可以完成这项工作,而是看看 JODA 开源库。
然后在玩完它们之后,带着更多特定于库的问题回到这里。我认为这是一个很好的开端。
祝你好运!