<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    I'm happy to live!

    Develop with pleasure!

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      39 隨筆 :: 2 文章 :: 31 評論 :: 0 Trackbacks
        在我的項目中,用戶會選擇自已的時區,所以顯示的時間都是根據用戶選擇的時區來顯示時間的,而時間我存入數據庫時我打算是轉成格林威治時間,然后從庫里取出時間后又根據用戶的選擇來轉成對應時區的時間
    但現在卻碰到一些問題,如何將對應時區的時間轉成格林威治時間呢?

    以下是我的部分代碼:
    DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG,
                    DateFormat.LONG);
            Calendar cal 
    = Calendar.getInstance();

            TimeZone tz 
    = TimeZone.getTimeZone("America/Los_Angeles");

            df.setTimeZone(tz);
            String time 
    = df.format(new Date());
            System.out.println(time);
            Date date 
    = df.parse(time, new ParsePosition(0));
            System.out.println(date);
    為何df.parse()后返回的date又成了當前系統的時間了啊,我如何把當前用戶時區的時間轉換成格林威治時間呢,謝謝牛人們?
    posted on 2011-01-05 07:31 Norsor 閱讀(1695) 評論(3)  編輯  收藏 所屬分類: programme

    評論

    # re: 關于時間的一些疑問? 2011-01-05 11:41 何楊
    Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("London"));

    int hour12 = cal.get(Calendar.HOUR); // 0..11
    int minutes = cal.get(Calendar.MINUTE); // 0..59
    int seconds = cal.get(Calendar.SECOND); // 0..59

    System.out.println(hour12+":"+minutes+":"+seconds);

    以上是Java Almanac 1.4中找到的。  回復  更多評論
      

    # re: 關于時間的一些疑問? 2011-01-05 20:59 Rene
    因為你只用了一個DateFormat,等于是在同一個時區內轉換。

    format: 把Date對象基于DateFormat時區轉換成字符串
    parse: 把字符串基于DateFormat時區轉換成當前時區的Date對象
    比如:用戶地區為中國(GMT+8),DateFormat時區為GMT,時間字符串:2011/01/05 12:00:00
    parse后的結果是 Wed Jan 05 13:00:00 CET 2011

    SimpleDateFormat dbFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    dbFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    dbFormat.format(localDate);
    可以獲得當前時間的GMT時區日期字符串。
    如果要獲得Date對象,要基于用戶時區做parse轉換

    完整例子:
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.TimeZone;

    public class CalendarTest {
    public static void main (String[] args) {
    SimpleDateFormat localFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    SimpleDateFormat dbFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    dbFormat.setTimeZone(TimeZone.getTimeZone("GMT"));

    Date localDate = new Date();
    System.out.println("Local: "+localDate);

    // Solution one to get a date object
    try {
    Date GMTDate = localFormat.parse(dbFormat.format(localDate));
    System.out.println("1. GMT: "+GMTDate);
    } catch (ParseException e) {
    e.printStackTrace();
    }

    //Solution two to get a simple String
    System.out.println("2. GMT: "+dbFormat.format(localDate));
    }
    }  回復  更多評論
      

    # re: 關于時間的一些疑問? 2011-01-05 21:07 Rene
    @何楊
    建議使用"GMT",用London的話有夏令時問題,夏令時期間就是GMT+1了  回復  更多評論
      

    主站蜘蛛池模板: 亚洲熟妇无码爱v在线观看| 国产成人亚洲精品91专区高清| 日韩国产免费一区二区三区| 亚洲欧洲无码一区二区三区| 久久影院亚洲一区| 国产高清免费视频| 男女猛烈激情xx00免费视频| 亚洲AV本道一区二区三区四区| 日韩视频在线精品视频免费观看 | 99在线精品免费视频九九视| 亚洲精品一卡2卡3卡四卡乱码| 亚洲人精品午夜射精日韩| www.黄色免费网站| 三级黄色在线免费观看| 亚洲国产成a人v在线观看 | 亚洲国产综合精品中文第一区| 成人在线免费观看| 三年片在线观看免费西瓜视频| 亚洲综合精品成人| 亚洲高清在线视频| 午夜亚洲国产成人不卡在线| 亚洲精品国产电影| 免费在线看v网址| 中文在线免费不卡视频| 亚洲AV性色在线观看| 久久久久亚洲AV无码麻豆| 亚洲线精品一区二区三区影音先锋| 女人18毛片a级毛片免费视频| 久久久久国色av免费看| 特级毛片aaaa免费观看| 亚洲乱码日产精品一二三| 亚洲精品成人无限看| 亚洲午夜激情视频| 日韩免费高清视频网站| 99无码人妻一区二区三区免费 | 人人狠狠综合久久亚洲高清| 国产国产人免费视频成69堂| 久久免费观看国产精品| 国产精品免费观看视频| 日本在线观看免费高清| 亚洲国产精品99久久久久久|