1

我已经构建了一个表盘,它以两种不同的方式显示时间。表盘具有当前时区的 12 小时格式和 GMT 的 24 小时格式。默认情况下,表盘仅显示当前时区,这意味着我的 GMT 时针实际上仅以 24 小时格式指示当前时区的时间。如何让手表同时显示多个时区?

4

2 回答 2

0

您可以创建 2 个具有不同时区的日历对象,然后使用此对象:

Calendar germanyTime = new GregorianCalendar(TimeZone.getDefault());//your timezone
Calendar germanyTime = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));
于 2015-04-06T20:08:13.180 回答
0

我会给你一个例子,说明我是如何设法自动获取系统时间格式的:

// variables
boolean is24Hour = false;
DateFormat df;
Calendar cal;

// get time format
is24Hour = df.is24HourFormat(context);

...

@Override
    public void onDraw(Canvas canvas, Rect bounds) {
    // always get a new instance in your onDraw()
        cal = Calendar.getInstance();

    // get the hours
       if (is24Hour) {
            format = new SimpleDateFormat("H");
            return Integer.valueOf(format.format(cal.getTime()));
        } else {
            format = new SimpleDateFormat("h");
            return (Integer.valueOf(format.format(cal.getTime()));
        }
     } 
于 2015-04-08T10:50:32.297 回答