【发布时间】:2014-06-07 03:42:49
【问题描述】:
我正在尝试这样做 1.获取我的时间当前时间和时区。 2. 我从谷歌知道那个特定国家的时区。 3. 计算时区差异。 4. 从当前时间减去这个差值。这将使我有时间在其他国家。 我被困在第 3 步和第 4 步。 我像这样得到当前时间
Date d = new Date();
CharSequence s = DateFormat.format("hh:mm:ss", d.getTime());
和这样的时区
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"),
Locale.getDefault());
Date currentLocalTime = calendar.getTime();
SimpleDateFormat date = new SimpleDateFormat("Z");
String localTime = date.format(currentLocalTime);
让特定国家的时区由字符串 x 表示。现在我如何获得 localTime - x 然后 currentTime - (localTime - x)。
【问题讨论】:
-
java.util.Date dateIn = new java.util.Date(); DateTime dateTimeUtc = new DateTime( dateIn, DateTimeZone.UTC );这给了我 DateTime 无法解析为类型的错误。
-
在 StackOverflow 上多次提问和回答。搜索“Joda DateTimeZone”或“ZonedDateTime”。
-
那段代码引用了 Joda-Time,一个优秀的日期时间库。所以你需要在你的项目中包含这个jar,并为
org.joda包添加import语句。我们使用 Joda-Time 是因为与 Java 捆绑在一起的 java.util.Date 和 .Calendar 类非常麻烦,应该避免使用。 -
谢谢,太棒了。
标签: java android datetime timezone