java对世界各个时区(TimeZone)的通用转换处理方法

java对世界各个时区(TimeZone)的通用转换处理方法 .


在进行国际性软件项目开发的过程中,有时候会碰到一些比较特殊的要求。比如:比如说,你做的是个购物网站(假设服务器放在中国上海),当全世界客户在你的网站上下订单买东西后,往往希望看到客户所在地下单时间,比如说我是个美国纽约人,我在你的网站上下单后,你给我看到一个上海的下单时间,会觉得非常的奇怪。众所周知,纽约时间相对上海时间大约要晚13小时,如果让客户看到本地时区的时间,将变得更加符合客户的时间观念,使得客户理解比较方便。

其实,java中早已考虑过世界时区(TimeZone)这个问题,并给出了比较合理的解决方法,可以比较方便的进行世界时区时间的转化,将一个时区的时间转换成另一个时区的时间。可以看看下面的的实际例子(运行例子的main()方法)。

关于如何知道客户所在的时区,可以根据客户所在的ip或者用户注册提供的国家来计算出所在的时区。



Java代码 01./*
02. * Created on 2005-6-10
03. * Author stephen
04. * Email zhoujianqiang AT gmail DOT com
05. * CopyRight(C)2005-2008 , All rights reserved.
06. */
07.package com.soft4j.utility;
08.
09.import java.text.ParseException;
10.import java.text.SimpleDateFormat;
11.import java.util.Date;
12.import java.util.GregorianCalendar;
13.import java.util.TimeZone;
14.import java.util.Vector;
15.
16.import com.soft4j.log.Log;
17.
18./**
19. * 与日期、时间相关的一些常用工具方法.
20. * <p>
21. * 日期(时间)的常用格式(formater)主要有: <br>
22. * yyyy-MM-dd HH:mm:ss <br>
23. *
24. * @author stephen
25. * @version 1.0.0
26. */
27.public final class DateTool {
28.
29. /**
30. * 对日期(时间)中的日进行加减计算. <br>
31. * 例子: <br>
32. * 如果Date类型的d为 2005年8月20日,那么 <br>
33. * calculateByDate(d,-10)的值为2005年8月10日 <br>
34. * 而calculateByDate(d,+10)的值为2005年8月30日 <br>
35. *
36. * @param d
37. * 日期(时间).
38. * @param amount
39. * 加减计算的幅度.+n=加n天;-n=减n天.
40. * @return 计算后的日期(时间).
41. */
42. public static Date calculateByDate(Date d, int amount) {
43. return calculate(d, GregorianCalendar.DATE, amount);
44. }
45.
46. public static Date calculateByMinute(Date d, int amount) {
47. return calculate(d, GregorianCalendar.MINUTE, amount);
48. }
49.
50. public static Date calculateByYea


r(Date d, int amount) {
51. return calculate(d, GregorianCalendar.YEAR, amount);
52. }
53.
54. /**
55. * 对日期(

Word文档免费下载Word文档免费下载:java对世界各个时区(TimeZone)的通用转换处理方法 (共4页,当前第1页)

你可能喜欢

  • 世界时间
  • 微观世界
  • 管理世界
  • 平行世界
  • 英语世界
  • 安全操作制度
  • 世界的国家
  • 中国在世界中

java对世界各个时区(TimeZone)的通用转换处理方法相关文档

最新文档

返回顶部