- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在我的 android 程序中显示时区的“名称”。如果是“GMT+8:00”,则显示“HongKong”;通过搜索,我发现 getDisplayName 函数应该切断我的目的。
http://developer.android.com/reference/java/util/TimeZone.html#getDisplayName(boolean , int, java.util.Locale)
但是,在我自己的程序中,这个函数只显示“GMT+8:00”,但是当我在 Google 开源项目中使用“getDisplayName”时,它会显示名称“HongKong”。
有人知道这背后的原因吗?
最佳答案
由你决定!您可以使用 Locale.getDefault()
或 Calendar
实例。
Locale.getDefault()
is not a TimeZone, but specify the language in device
日历 calendar = Calendar.getInstance();
Locale.getDefault()
.
下面我举几个例子:
打印 Log.d(LOG_TAG, String.valueOf(TimeZone.getDefault()));
显示:
D/MyActivity: libcore.util.ZoneInfo[id="Brazil/East",mRawOffset=-10800000,mEarliestRawOffset=-10800000,mUseDst=true,mDstSavings=3600000,transitions=128]
.
打印 Log.d(LOG_TAG, TimeZone.getDefault().getID());
显示:
D/MyActivity:巴西/东部
.
打印 Log.d(LOG_TAG, String.valueOf(Locale.getDefault()));
显示:
D/MyActivity: fr_FR
.
打印 Log.d(LOG_TAG, String.valueOf(calendar.getTimeZone()));
显示:
D/MyActivity: libcore.util.ZoneInfo[id="Brazil/East",mRawOffset=-10800000,mEarliestRawOffset=-10800000,mUseDst=true,mDstSavings=3600000,transitions=128]
.
打印 Log.d(LOG_TAG, calendar.getTimeZone().getDisplayName());
显示:
D/MyActivity:heure normale de Brasilia
.
打印没有语言环境和时区短的时区显示名称:
Log.d(LOG_TAG, calendar.getTimeZone().getDisplayName(false, TimeZone.SHORT));
显示输出:
D/MyActivity: GMT-03:00
.
打印没有语言环境和时区长的时区显示名称
Log.d(LOG_TAG, calendar.getTimeZone().getDisplayName(false, TimeZone.LONG));
显示输出:
D/MyActivity:heure normale de Brasilia
.
检查您正在使用的方法的 Javadoc:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#getInstance(java.util.Locale)
Gets a calendar using the default time zone and specified locale.
检查这条评论让你更清楚:
关于android - 如何在 Android 中获取 TimeZone 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27480053/
我需要以 [+/-]hh:mm 格式保存手机的时区 我正在使用 TimeZone 类来处理这个问题,但我能得到的唯一格式如下: PST -05:00 GMT +02:00 我宁愿不对结果进行子串化,是
我正在尝试在 Node js 中使用 moment-timezone 来获取所有可用时区的列表,如下所示 - var moment = require('moment-timezone'); var
我正在使用以下代码将时区 (GMT-3) 转换为设备本地时区。 int hour=17,minute=0,day=12,month=6,year=2014; Calendar cal = new Gr
System.setProperty("user.timezone", "America/Chicago"); TimeZone.setDefault(TimeZone.getTimeZone("美国
我想从字符串初始化DateFormatter().timeZone,但是当我做类似的事情时 let dateFormatter = DateFormatter() dateFormatter.time
我通过存储日期组件字典在我的后端存储用户出生日期。它看起来像这样: { "day": 1, "month": 1, "year": 1970, "timeZone":
我一直在开发一个应用程序,它以下面给出的特定格式从服务器获取日期。 "2015-02-03 00:00:00" 我想使用 NSDateFormatter 以不同的 UI 格式显示它们但是当我更改时区时
我有什么 我有一个来自服务器的日期字符串,它的格式是 w3c 日期格式 2016-02-13T09:53:49.871Z 我的问题 当我将消息发布到服务器时,它显示的是 5 小时前而不是现在 我想要什
我正在将我的项目从 Django 1.8.2 升级到 1.9.7,我收到了这个警告: WARNINGS: my_app.my_model.date_available: (fields.W161) F
在下面的代码中: from datetime import datetime import pytz EDT = pytz.timezone('US/Eastern') d1 = datetime.n
我通过以下方式将服务器(Ubuntu 12.04)的时区更改为UTC: echo 'UTC' > /etc/timezone dpkg-reconfigure --frontend nonintera
我想获取洛杉矶的时区信息,现在10/10/2017是夏令时,但是我通过两种方式获取洛杉矶的时区得到了不同的结果。 public class TimeZoneDemo2 { public stati
我把它放在应用程序 Controller 中: before_filter :set_timezone def set_timezone Time.zone = current_user.time_
是否可以转换java.util.TimeZone字符串 sun.util.calendar.ZoneInfo[id=\"America/Los_Angeles\",offset=-28800000,d
当我写这段代码时: Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST"));
我正在使用 Java 8, 在我们的代码的前面,我们使用 sdf.setTimeZone(TimeZone.getTimeZone("PDT")); 转换为失败的美国太平洋地区(没有抛出任何错误,但转
我不断收到此警告:timezone of object (UTC) is different than current timezone ().我当前的时区是“EET”,如 Sys.timezone(
我正在我的网站上使用时刻时区转换器进行时区日期转换。默认情况下,我在 IST 中显示日期和时间。我有一个按钮可以转换用户时区中的给定时间。此按钮操作调用 moment js 并进行转换。到这里我没有问
我从服务响应中获得时区偏移量为“-5.00”,我需要在 UI 中将其格式化为 CST。我如何在 JavaScript 中转换它?我搜索了一下,不确定JavaScript中有没有直接的方法。 最佳答案
这个问题在这里已经有了答案: Converting string to datetime object (2 个答案) 关闭 6 年前。 我的主机有 UTC 时区,我正在尝试将 PDT 时间字符串转
我是一名优秀的程序员,十分优秀!