【问题标题】:How to display multiple time zones on an android wear watch face如何在 Android Wear 表盘上显示多个时区
【发布时间】:2015-04-08 18:50:32
【问题描述】:

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

【问题讨论】:

    标签: android watch-face-api


    【解决方案1】:

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

    Calendar germanyTime = new GregorianCalendar(TimeZone.getDefault());//your timezone
    Calendar germanyTime = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));
    

    【讨论】:

    • 感谢您为我指明了正确的方向。它应该应用在我的代码中的什么地方?
    • 这段代码演示了主要思想,你可以持有2个独立的日历对象并从不同的时区获取时间
    • 我理解,但我不是高级程序员,所以它对我来说有点陌生。大声笑
    【解决方案2】:

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

    // 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()));
            }
         } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多