如何获得像-0400这样的时区值

时间:2012-11-15 08:00:01

标签: android timezone

我想在我的休息服务中传递日期值,如此

"ActionTime":"\/Date(928164000000-0400)\/

我的问题是如何获取此date变量的zone和时间ActionTime值。

2 个答案:

答案 0 :(得分:1)

Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();
Log.d("Time zone","="+tz.getDisplayName());

或者您也可以使用此

Timezone.getDefault()

===================================

String s = "2013-01-01 12:00:00";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("CST"));
Date timestamp = null;
try {
    timestamp = df.parse(s);
    df.setTimeZone(TimeZone.getDefault());
    System.out.println(df.format(timestamp));
} catch (ParseException e) {
    e.printStackTrace();
}

=============== 您应该能够根据TimeZone getOffset()值see this

计算差异

答案 1 :(得分:0)

我就是这样做的:

Date dt = new Date();
        int z = dt.getTimezoneOffset();

        String date = "/Date(" + dt.getTime() + z+")/";

感谢所有的帮助,但我有一些更简单的方法。