当苹果从App Store退回自动续订的收据时,他们使用Etc/GMT时区的理由是什么?
Etc/GMT时区到底是什么?Java SDK能理解这个时区吗?或者我必须使用其他第三方库,如Joda-Time
发布于 2014-01-11 12:01:00
严格来说,Etc/GMT与UTC或GMT不是一回事。仅当偏移量为0时,它们才表示相同的时间瞬间。在所有其他情况下,它们是完全不同的。
苹果公司解释了here的名称。
直接引用该链接提供了一个示例:
我们在区域名称和输出缩写中使用POSIX样式的符号,尽管这与许多人的预期相反。POSIX在格林威治以西有积极的迹象,但许多人预计格林威治以东的积极迹象。例如,TZ='Etc/GMT+4‘使用缩写"GMT+4“,对应于协调世界时晚4小时(即格林威治以西),尽管许多人认为它意味着比协调世界时早4小时(即格林威治以东)。
发布于 2019-07-25 11:02:39
偏移与分区
了解:
正数与负数
不同行业的不同协议在编号上有所不同,一些人认为UTC之前的偏移量是正数,而另一些人则使用负数。对称地,一些人认为UTC之后的偏移量是负的,而另一些人则使用正的。
在我见过的大多数现代协议中,例如ISO 8601,协调时之前(朝向东部)的偏移量是正的,而协调时(朝向西)之后的偏移量是负的。因此,美洲区域使用的偏移量具有负数,例如今天偏移量为-07:00或-08:00的America/Los_Angeles (因Daylight Saving Time (DST)而在一年中变化)。
我建议你学会把这种方式( UTC的右边是正数,UTC的左边是负数)看作主流,反之亦然。
时区名称通常采用Continent/Region格式,如America/Edmonton、Europe/Paris、Africa/Tunis、Asia/Kolkata和Pacific/Auckland。请参阅此list on Wikipedia (可能不是最新的)。但也有一些例外。Etc/GMT…名称采用相反的加/减约定:
Etc/GMT+1 =协调世界时偏移量=比UTCEtc/GMT+12晚1小时= -12:00偏移量=比-01:00 晚12小时
…和…
Etc/GMT-1 =协调世界时偏移=比UTCEtc/GMT-12提前一小时= +12:00偏移=比+01:00 提前12小时
令人困惑?欢迎来到日期-时间处理的古怪世界。从这里开始只会变得更奇怪。
要点:
java.util.Date、Calendar、SimpleDateFormat等。幸运的是,java.time类可以帮助您解决这个问题。使用ZoneId类查看correct Answer by Ole V.V.。
您的问题
苹果使用Etc/GMT时区背后的
原理
它们意味着零的偏移量,UTC本身。字符串Etc/GMT是表示偏移量为0小时-分钟-秒的一个规范标签。
日期-时间字符串末尾常见的字母Z (发音为“Zulu”)表示相同的意思,即偏移量为零。
Etc/GMT时区到底是什么?
字符串Etc/GMT是一个时区的名称,该时区曾经只有一个偏移量,即零时-分-秒偏移量。
大多数其他时区,如Europe/Berlin或Africa/Casablanca,其偏移量在历史上都不同。例如,在that Africa/Casablanca zone in Morocco,政客们去年已经决定,他们不再每年两次将一个小时转换为标准时间&美国夏令时,而是一年四季都永久停留在美国东部夏令时。我笑着说“永久”,因为这实际上意味着“直到政客们再次改变主意”。世界各地的政治家都表现出了以令人惊讶的频率重新定义时区的倾向。
Java SDK能理解这个时区吗?
是。参见Ole V.V.的the Answer。:ZoneId.of( "Etc/GMT" )
,或者我必须使用其他第三方库,如Joda-Time?
仅供参考,项目现在位于maintenance mode中,建议迁移到类。参见Tutorial by Oracle。
您应该将java.time类用于所有日期-时间处理。
发布于 2011-09-05 14:53:42
Etc/GMT只是表示UTC、GMT、GMT0或GMT+00:00的标准方式。
Java JDK可以理解所有的格式。通过执行以下操作,您可以很容易地看到这一点:
import java.util.TimeZone;
public class Playground {
public static void main(String... args) {
for (String s : TimeZone.getAvailableIDs()) {
System.out.println(s);
}
}
}这将打印出Java JDK可以解析的所有不同的TimeZone格式:
...
Etc/GMT
Etc/GMT+0
Etc/GMT-0
Etc/GMT0
Etc/格林威治
Etc/UCT
Etc/UTC
Etc/通用
...
https://stackoverflow.com/questions/7303580
复制相似问题