<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 閱讀(1703) 評論(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了  回復  更多評論
      

    主站蜘蛛池模板: 最新中文字幕电影免费观看| 一边摸一边桶一边脱免费视频| 日韩精品人妻系列无码专区免费| 亚洲综合精品网站| 亚洲电影免费观看| 亚洲精品91在线| 18女人毛片水真多免费| 亚洲国产成人手机在线电影bd| 最近中文字幕2019高清免费| 91亚洲国产在人线播放午夜 | 亚洲不卡中文字幕| 美女视频黄是免费的网址| 亚洲一区二区三区精品视频| 一本无码人妻在中文字幕免费| 亚洲中文字幕一二三四区苍井空| 成人a视频片在线观看免费| 亚洲AV无码成人精品区日韩 | 免费一区二区视频| 一级毛片成人免费看a| 亚洲精品无码不卡在线播放HE| 日本免费中文视频| 亚洲中文字幕无码av在线| 免费看大黄高清网站视频在线| 国产精品亚洲专区无码不卡| 国产亚洲精午夜久久久久久| 污污网站免费观看| 亚洲视频手机在线| 在线免费不卡视频| a级毛片免费高清视频| 亚洲成年人在线观看| 成年大片免费视频| 成人毛片100免费观看| 亚洲色成人网一二三区| 毛片a级三毛片免费播放| 日韩大片免费观看视频播放| 亚洲精品乱码久久久久久中文字幕 | 亚洲欧洲AV无码专区| 无码专区AAAAAA免费视频| 亚洲av一本岛在线播放| 四虎精品亚洲一区二区三区| 少妇人妻偷人精品免费视频|