●时间戳(timestamp)定义

时间戳指的是从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。严格来说,不管你处在地球上的哪个地方,任意时间点的时间戳都是相同的。这点有利于线上和客户端分布式应用统一追踪时间信息。时间戳是没有时区概念的,同一个时间戳对不同时区显示的时间不一样而已。

  

  最近在做一个api的自测时发现,在不同环境同一个api返回的response里的时间戳结果不太一样。查看了下编程逻辑,代码如下:

                    SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = sDateFormat.parse(m.getDaytime());//格式类似"2020-02-20"
getEventNumDateResponse.setTime(date.getTime());
sDateFormat = null;

  这段代码逻辑上没什么问题,但在不同环境上运行结果不一样,问题出在哪了?

  细想,怀疑Date与时区肯定有关系,经过检查,发现本地的时区是默认的东八区UTC+0800,本地java 程序运行也没配置时区,采用的自然是系统时区东八区,而在另外一个开发环境,jar包运行时配置了-Duser.timezone=UTC,虽然系统默认也是东八区,原来是这个设置导致的。

  比如"2020-02-20"这个字符串时间,被SimpleDateFormat parse后,如果当前的运行时区(没设置则是系统时区)是UTC+0800,则时间Date是:Thu Feb 20 00:00:00 CST 2020

  CST时区包含了UTC+8:00 也就是这个时间自然是东八区的 2020-02-20 00:00:00 这个时间,对应着是UTC 0时区的2020-02-19 16:00:00时间,通过getTime获取的时间戳是:

System.out.println(TimeZone.getDefault().getRawOffset());
28800000
System.out.println(sdf.parse("2020-02-20").getTime());
1582128000000 通过在pg里转化验证:
SELECT TO_TIMESTAMP(1582128000)AT TIME ZONE 'UTC-0' ;
2020-02-19 16:00:00 SELECT TO_TIMESTAMP(1582128000)AT TIME ZONE 'Asia/Shanghai' ;
2020-02-20 00:00:00

同样,当我们在系统里设置了时区为UTC 0时区,或者在jar运行时设置了-Duser.timezone=UTC,或者在代码里配置了

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

  这样,当后面SimpleDateFormat parse后, 则时间Date是:Thu Feb 20 00:00:00 UTC 2020,表明是UTC 0时区的 2020-02-20 00:00:00 这个时间,对应着是UTC+8时区的

2020-02-20 08:00:00时间,通过getTime获取的时间戳是:
System.out.println(TimeZone.getDefault().getRawOffset());
0
System.out.println(sdf.parse("2020-02-20").getTime());
1582156800000 通过在pg里转化验证:
SELECT TO_TIMESTAMP(1582156800)AT TIME ZONE 'UTC-0' ;
2020-02-20 00:00:00
----直接写时区偏移(基于格林威治时区,是反的,即提前-滞后+,例如正常东八区,需要写-8:00,因此建议直接用时区缩写,见后面附表,当然也可以写
---Asia/Shanghai表示东八区
SELECT TO_TIMESTAMP(1582156800)AT TIME ZONE 'Asia/Shanghai' ; 
2020-02-20 08:00:00

写到这里,相信大家都明白了为啥同一个程序在不同机器上跑出的涉及时间戳的结果不一致,这一点要注意额,千万别掉坑里。

最后,说一下涉及时间戳时,配置时区的几种方式:

Linux中:(以redhat 7.0为例)

查看:
[root@localhost Desktop]# timedatectl status
Local time: Thu 2020-02-27 14:57:58 CST
Universal time: Thu 2020-02-27 06:57:58 UTC
RTC time: Thu 2020-02-27 06:58:00
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a 或者:

[root@localhost Desktop]# date -R
Thu, 27 Feb 2020 15:00:25 +0800

设置:
# timedatectl set-timezone "Asia/Shanghai"

在Java中也可以设置时区

1)启动设置
java -Duser.timezone=Asia/Shanghai -jar xxx.jar

2) 代码中设置

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.parse("2018-09-01 08:00:00").getTime());

3) 单次处理生效,建议使用joda的时间包

<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency> DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withChronology(ISOChronology.getInstance(DateTimeZone.forID("Asia/Shanghai")));
System.out.println(dateTimeFormatter.parseDateTime("2018-09-01 08:00:00").getMillis());

      另外,了解Java8 的朋友可能都知道,Java8提供了一套新的时间处理API,这套API比以前的时间处理API要友好的多。

  Java8 中加入了对时区的支持,带时区的时间为分别为:ZonedDate、ZonedTime、ZonedDateTime。其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式,如Asia/Shanghai、America/Los_Angeles等。

Java中的Date类中是不包含时区信息的,在使用System.out.println打印Date的时候,回调用Date.toString方法,该方法会获取系统的默认时区来转换时间。

在Java8中可以使用ZonedTime、ZonedDate和ZonedDateTime来表示带有时区信息的时间。

LocalDateTime now = LocalDateTime.now(ZoneId.of("America/Los_Angeles")); 
System.out.println(now); //获取秒数
Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
//获取毫秒数
Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();

//时间转字符串格式化
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
String dateTime = LocalDateTime.now(ZoneOffset.of("+8")).format(formatter);

//字符串转时间
String dateTimeStr = "2018-07-28 14:11:15";
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());

附几种时区标准:

1.UTC

UTC+时区差=本地时间

时区差东为正,西为负

UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。

2.GMT(Greenwich Mean Time)是格林尼治平时: 
由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。 为了确保协调世界时与世界时(UT1)相差不会超过0.9秒,有需要时便会在协调世界时内加上正或负闰秒。因此协调世界时与国际原子时(TAI)之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局(IERS)负责决定何时加入闰秒。

也就是说,UTC 基本上等于GMT

3.CET

(英語:Central European Time,CET)欧洲中部时间是比世界标准时间(UTC)早一个小时的时区名称之一。它被大部分欧洲国家和部分北非国家采用。冬季时间为UTC+1,夏季欧洲夏令时为UTC+2。

4.CEST

欧洲中部夏令时间(Central European Summer Time,简称CEST)比世界标准时间(UTC)早两个小时的时区名称之一。它被大部分欧洲国家和部分北非国家在夏天采用(UTC+2),冬季这些国家使用欧洲中部时间(UTC+1)

附JAVA TIMEZONE 时区表:

Etc/GMT+12

Etc/GMT+11
MIT
Pacific/Apia
Pacific/Midway
Pacific/Niue
Pacific/Pago_Pago
Pacific/Samoa
US/Samoa
America/Adak
America/Atka

Etc/GMT+10
HST
Pacific/Fakaofo
Pacific/Honolulu
Pacific/Johnston
Pacific/Rarotonga
Pacific/Tahiti
SystemV/HST10
US/Aleutian
US/Hawaii
Pacific/Marquesas
AST
America/Anchorage
America/Juneau
America/Nome
America/Yakutat

Etc/GMT+9
Pacific/Gambier
SystemV/YST9
SystemV/YST9YDT
US/Alaska
America/Dawson
America/Ensenada
America/Los_Angeles
America/Tijuana
America/Vancouver
America/Whitehorse
Canada/Pacific
Canada/Yukon

Etc/GMT+8
Mexico/BajaNorte
PST
PST8PDT
Pacific/Pitcairn
SystemV/PST8
SystemV/PST8PDT
US/Pacific
US/Pacific-New
America/Boise
America/Cambridge_Bay
America/Chihuahua
America/Dawson_Creek
America/Denver
America/Edmonton
America/Hermosillo
America/Inuvik
America/Mazatlan
America/Phoenix
America/Shiprock
America/Yellowknife
Canada/Mountain

Etc/GMT+7
MST
MST7MDT
Mexico/BajaSur
Navajo
PNT
SystemV/MST7
SystemV/MST7MDT
US/Arizona
US/Mountain
America/Belize
America/Cancun
America/Chicago
America/Costa_Rica
America/El_Salvador
America/Guatemala
America/Indiana/Knox
America/Indiana/Tell_City
America/Knox_IN
America/Managua
America/Menominee
America/Merida
America/Mexico_City
America/Monterrey
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Rainy_River
America/Rankin_Inlet
America/Regina
America/Swift_Current
America/Tegucigalpa
America/Winnipeg
CST
CST6CDT
Canada/Central
Canada/East-Saskatchewan
Canada/Saskatchewan
Chile/EasterIsland

Etc/GMT+6
Mexico/General
Pacific/Easter
Pacific/Galapagos
SystemV/CST6
SystemV/CST6CDT
US/Central
US/Indiana-Starke
America/Atikokan
America/Bogota
America/Cayman
America/Coral_Harbour
America/Detroit
America/Eirunepe
America/Fort_Wayne
America/Grand_Turk
America/Guayaquil
America/Havana
America/Indiana/Indianapolis
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Indianapolis
America/Iqaluit
America/Jamaica
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Lima
America/Louisville
America/Montreal
America/Nassau
America/New_York
America/Nipigon
America/Panama
America/Pangnirtung
America/Port-au-Prince
America/Porto_Acre
America/Resolute
America/Rio_Branco
America/Thunder_Bay
America/Toronto
Brazil/Acre
Canada/Eastern
Cuba
EST
EST5EDT

Etc/GMT+5
IET
Jamaica
SystemV/EST5
SystemV/EST5EDT
US/East-Indiana
US/Eastern
US/Michigan
America/Caracas
America/Anguilla
America/Antigua
America/Aruba
America/Asuncion
America/Barbados
America/Blanc-Sablon
America/Boa_Vista
America/Campo_Grande
America/Cuiaba
America/Curacao
America/Dominica
America/Glace_Bay
America/Goose_Bay
America/Grenada
America/Guadeloupe
America/Guyana
America/Halifax
America/La_Paz
America/Manaus
America/Marigot
America/Martinique
America/Moncton
America/Montserrat
America/Port_of_Spain
America/Porto_Velho
America/Puerto_Rico
America/Santiago
America/Santo_Domingo
America/St_Barthelemy
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Thule
America/Tortola
America/Virgin
Antarctica/Palmer
Atlantic/Bermuda
Atlantic/Stanley
Brazil/West
Canada/Atlantic
Chile/Continental

Etc/GMT+4
PRT
SystemV/AST4
SystemV/AST4ADT
America/St_Johns
CNT
Canada/Newfoundland
AGT
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/ComodRivadavia
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Bahia
America/Belem
America/Buenos_Aires
America/Catamarca
America/Cayenne
America/Cordoba
America/Fortaleza
America/Godthab
America/Jujuy
America/Maceio
America/Mendoza
America/Miquelon
America/Montevideo
America/Paramaribo
America/Recife
America/Rosario
America/Sao_Paulo
Antarctica/Rothera
BET
Brazil/East

Etc/GMT+3
America/Noronha
Atlantic/South_Georgia
Brazil/DeNoronha

Etc/GMT+2
America/Scoresbysund
Atlantic/Azores
Atlantic/Cape_Verde

Etc/GMT+1
Africa/Abidjan
Africa/Accra
Africa/Bamako
Africa/Banjul
Africa/Bissau
Africa/Casablanca
Africa/Conakry
Africa/Dakar
Africa/El_Aaiun
Africa/Freetown
Africa/Lome
Africa/Monrovia
Africa/Nouakchott
Africa/Ouagadougou
Africa/Sao_Tome
Africa/Timbuktu
America/Danmarkshavn
Atlantic/Canary
Atlantic/Faeroe
Atlantic/Faroe
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/St_Helena
Eire

Etc/GMT

Etc/GMT+0

Etc/GMT-0

Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/UTC
Etc/Universal
Etc/Zulu
Europe/Belfast
Europe/Dublin
Europe/Guernsey
Europe/Isle_of_Man
Europe/Jersey
Europe/Lisbon
Europe/London
GB
GB-Eire
GMT
GMT0
Greenwich
Iceland
Portugal
UCT
UTC
Universal
WET
Zulu
Africa/Algiers
Africa/Bangui
Africa/Brazzaville
Africa/Ceuta
Africa/Douala
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Luanda
Africa/Malabo
Africa/Ndjamena
Africa/Niamey
Africa/Porto-Novo
Africa/Tunis
Africa/Windhoek
Arctic/Longyearbyen
Atlantic/Jan_Mayen
CET
ECT

Etc/GMT-1
Europe/Amsterdam
Europe/Andorra
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Budapest
Europe/Copenhagen
Europe/Gibraltar
Europe/Ljubljana
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Monaco
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Rome
Europe/San_Marino
Europe/Sarajevo
Europe/Skopje
Europe/Stockholm
Europe/Tirane
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Warsaw
Europe/Zagreb
Europe/Zurich
MET
Poland
ART
Africa/Blantyre
Africa/Bujumbura
Africa/Cairo
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Kigali
Africa/Lubumbashi
Africa/Lusaka
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Tripoli
Asia/Amman
Asia/Beirut
Asia/Damascus
Asia/Gaza
Asia/Istanbul
Asia/Jerusalem
Asia/Nicosia
Asia/Tel_Aviv
CAT
EET
Egypt

Etc/GMT-2
Europe/Athens
Europe/Bucharest
Europe/Chisinau
Europe/Helsinki
Europe/Istanbul
Europe/Kaliningrad
Europe/Kiev
Europe/Mariehamn
Europe/Minsk
Europe/Nicosia
Europe/Riga
Europe/Simferopol
Europe/Sofia
Europe/Tallinn
Europe/Tiraspol
Europe/Uzhgorod
Europe/Vilnius
Europe/Zaporozhye
Israel
Libya
Turkey
Africa/Addis_Ababa
Africa/Asmara
Africa/Asmera
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Kampala
Africa/Khartoum
Africa/Mogadishu
Africa/Nairobi
Antarctica/Syowa
Asia/Aden
Asia/Baghdad
Asia/Bahrain
Asia/Kuwait
Asia/Qatar
Asia/Riyadh
EAT

Etc/GMT-3
Europe/Moscow
Europe/Volgograd
Indian/Antananarivo
Indian/Comoro
Indian/Mayotte
W-SU
Asia/Riyadh87
Asia/Riyadh88
Asia/Riyadh89
Mideast/Riyadh87
Mideast/Riyadh88
Mideast/Riyadh89
Asia/Tehran
Iran
Asia/Baku
Asia/Dubai
Asia/Muscat
Asia/Tbilisi
Asia/Yerevan

Etc/GMT-4
Europe/Samara
Indian/Mahe
Indian/Mauritius
Indian/Reunion
NET
Asia/Kabul
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Ashkhabad
Asia/Dushanbe
Asia/Karachi
Asia/Oral
Asia/Samarkand
Asia/Tashkent
Asia/Yekaterinburg

Etc/GMT-5
Indian/Kerguelen
Indian/Maldives
PLT
Asia/Calcutta
Asia/Colombo
Asia/Kolkata
IST
Asia/Katmandu
Antarctica/Mawson
Antarctica/Vostok
Asia/Almaty
Asia/Bishkek
Asia/Dacca
Asia/Dhaka
Asia/Novosibirsk
Asia/Omsk
Asia/Qyzylorda
Asia/Thimbu
Asia/Thimphu
BST

Etc/GMT-6
Indian/Chagos
Asia/Rangoon
Indian/Cocos
Antarctica/Davis
Asia/Bangkok
Asia/Ho_Chi_Minh
Asia/Hovd
Asia/Jakarta
Asia/Krasnoyarsk
Asia/Phnom_Penh
Asia/Pontianak
Asia/Saigon
Asia/Vientiane

Etc/GMT-7
Indian/Christmas
VST
Antarctica/Casey
Asia/Brunei
Asia/Choibalsan
Asia/Chongqing
Asia/Chungking
Asia/Harbin
Asia/Hong_Kong
Asia/Irkutsk
Asia/Kashgar
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Macao
Asia/Macau
Asia/Makassar
Asia/Manila
Asia/Shanghai
Asia/Singapore
Asia/Taipei
Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
Australia/Perth
Australia/West
CTT

Etc/GMT-8
Hongkong
PRC
Singapore
Australia/Eucla
Asia/Dili
Asia/Jayapura
Asia/Pyongyang
Asia/Seoul
Asia/Tokyo
Asia/Yakutsk

Etc/GMT-9
JST
Japan
Pacific/Palau
ROK
ACT
Australia/Adelaide
Australia/Broken_Hill
Australia/Darwin
Australia/North
Australia/South
Australia/Yancowinna
AET
Antarctica/DumontDUrville
Asia/Sakhalin
Asia/Vladivostok
Australia/ACT
Australia/Brisbane
Australia/Canberra
Australia/Currie
Australia/Hobart
Australia/Lindeman
Australia/Melbourne
Australia/NSW
Australia/Queensland
Australia/Sydney
Australia/Tasmania
Australia/Victoria

Etc/GMT-10
Pacific/Guam
Pacific/Port_Moresby
Pacific/Saipan
Pacific/Truk
Pacific/Yap
Australia/LHI
Australia/Lord_Howe
Asia/Magadan

Etc/GMT-11
Pacific/Efate
Pacific/Guadalcanal
Pacific/Kosrae
Pacific/Noumea
Pacific/Ponape
SST
Pacific/Norfolk
Antarctica/McMurdo
Antarctica/South_Pole
Asia/Anadyr
Asia/Kamchatka

Etc/GMT-12
Kwajalein
NST
NZ
Pacific/Auckland
Pacific/Fiji
Pacific/Funafuti
Pacific/Kwajalein
Pacific/Majuro
Pacific/Nauru
Pacific/Tarawa
Pacific/Wake
Pacific/Wallis
NZ-CHAT
Pacific/Chatham

Etc/GMT-13
Pacific/Enderbury
Pacific/Tongatapu

Etc/GMT-14
Pacific/Kiritimati

附: PostgreSQL Time Zone Names

 

Names

Offset

Description

FJST

-13:00

Fiji Summer Time

FJT

-12:00

Fiji Time

IDLW

-12:00

International Date Line, West

BST

-11:00

Bering Summer Time

NT

-11:00

Nome Time

NUT

-11:00

Niue Time

AHST

-10:00

Alaska-Hawaii Std Time

CAT

-10:00

Central Alaska Time

HST

-10:00

Hawaii Std Time

THAT

-10:00

Tahiti Time

TKT

-10:00

Tokelau Time

MART

-09:30

Marquesas Time

AKST

-09:00

Alaska Standard Time

GAMT

-09:00

Gambier Time

HDT

-09:00

Hawaii/Alaska Daylight Time

YST

-09:00

Yukon Standard Time

AKDT

-08:00

Alaska Daylight Time

PST

-08:00

Pacific Standard Time

YDT

-08:00

Yukon Daylight Time

MST

-07:00

Mountain Standard Time

PDT

-07:00

Pacific Daylight Time

CST

-06:00

Central Standard Time

EAST

-06:00

Easter Island Time

GALT

-06:00

Galapagos Time

MDT

-06:00

Mountain Daylight Time

ZP6

-06:00

UTC +6 hours

ACT

-05:00

Atlantic/Porto Acre Time

CDT

-05:00

Central Daylight Time

COT

-05:00

Columbia Time

EASST

-05:00

Easter Island Summer Time

ECT

-05:00

Ecuador Time

EST

-05:00

Eastern Standard Time

PET

-05:00

Peru Time

ZP5

-05:00

UTC +5 hours

ACST

-04:00

Atlantic/Porto Acre Summer Time

AMT

-04:00

Amazon Time (Porto Velho)

AST

-04:00

Atlantic Std Time (Canada)

BOT

-04:00

Bolivia Time

CLT

-04:00

Chile Time

ECT

-04:00

Eastern Caribbean Time

EDT

-04:00

Eastern Daylight Time

GYT

-04:00

Guyana Time

PYT

-04:00

Paraguay Time

VET

-04:00

Venezuela Time

ZP4

-04:00

UTC +4 hours

NFT

-03:30

Newfoundland Standard Time

NST

-03:30

Newfoundland Standard Time

ADT

-03:00

Atlantic Daylight Time

AMST

-03:00

Amazon Summer Time (Porto Velho)

ART

-03:00

Argentina Time

AWT

-03:00

Brazil Time

BRT

-03:00

Brasilia Time

BST

-03:00

Brazil Standard Time

CLST

-03:00

Chile Summer Time

FKST

-03:00

Falkland Islands Summer Time

GFT

-03:00

French Guiana Time

PYST

-03:00

Paraguay Summer Time

UYT

-03:00

Uruguay Time

WGT

-03:00

West Greenland Time

NDT

-02:30

Newfoundland Daylight Time

BRST

-02:00

Brasilia Summer Time

FKT

-02:00

Falkland Islands Time

FNT

-02:00

Fernando de Noronha Time

PMDT

-02:00

Pierre & Miquelon Daylight Time

UYST

-02:00

Uruguay Summer Time

WGST

-02:00

West Greenland Summer Time

AZOT

-01:00

Azores Time

EGT

-01:00

East Greenland Time

FNST

-01:00

Fernando de Noronha Summer Time

SET

-01:00

Seychelles Time

WAT

-01:00

West Africa Time

AZOST

+00:00

Azores Summer Time

EGST

+00:00

East Greenland Summer Time

GMT

+00:00

Greenwich Mean Time

UTC

+00:00

Universal Coordinated Time

UT

+00:00

Universal Time

WET

+00:00

Western Europe

ZULU

+00:00

Universal Time

Z

+00:00

ISO-8601 Universal Time

BST

+01:00

British Summer Time

CET

+01:00

Central European Time

DNT

+01:00

Dansk Normal Time

FST

+01:00

French Summer Time

MET

+01:00

Middle Europe Time

MEWT

+01:00

Middle Europe Winter Time

MEZ

+01:00

Middle Europe Zone

NOR

+01:00

Norway Standard Time

SWT

+01:00

Swedish Winter Time

WEST

+01:00

Western Europe Summer Time

WEtdST

+01:00

Western Europe Daylight Savings Time

BDST

+02:00

British Double Summer Time

CEST

+02:00

Central European Dayl.Time

CETDST

+02:00

Central European Dayl.Time

EET

+02:00

Eastern Europe, USSR Zone 1

FWT

+02:00

French Winter Time

IST

+02:00

Israel Time

MEST

+02:00

Middle Europe Summer Time

MEtdST

+02:00

Middle Europe Daylight Time

SST

+02:00

Swedish Summer Time

BT

+03:00

Baghdad Time

EAT

+03:00

East Africa Time

EAT

+03:00

Indian Antananarivo Time

EEST

+03:00

Eastern Europe Summer Time

EEtdST

+03:00

Eastern Europe Daylight Time

HMT

+03:00

Hellas Mediterranean Time

MSK

+03:00

Moscow Time

IRT

+03:30

Iran Time

IT

+03:30

Iran Time

AMT

+04:00

Armenia Time (Yerevan)

AZT

+04:00

Azerbaijan Time

EAST

+04:00

Indian Antananarivo Savings Time

GET

+04:00

Georgia Time

MSD

+04:00

Moscow Summer Time

MUT

+04:00

Mauritius Island Time

RET

+04:00

Reunion Island Time

SCT

+04:00

Mahe Island Time

AFT

+04:30

Kabul Time

AMST

+05:00

Armenia Summer Time (Yerevan)

AZST

+05:00

Azerbaijan Summer Time

GEST

+05:00

Georgia Summer Time

IOT

+05:00

Indian Chagos Time

KGT

+05:00

Kyrgyzstan Time

MVT

+05:00

Maldives Island Time

PKT

+05:00

Pakistan Time

TFT

+05:00

Kerguelen Time

TJT

+05:00

Tajikistan Time

TMT

+05:00

Turkmenistan Time

UZT

+05:00

Uzbekistan Time

YEKT

+05:00

Yekaterinburg Time

NPT

+05:45

Nepal Standard Time

ALMT

+06:00

Almaty Time

BDT

+06:00

Dacca Time

BTT

+06:00

Bhutan Time

DUSST

+06:00

Dushanbe Summer Time

KGST

+06:00

Kyrgyzstan Summer Time

LKT

+06:00

Lanka Time

MAWT

+06:00

Mawson, Antarctica

NOVT

+06:00

Novosibirsk Standard Time

OMST

+06:00

Omsk Time

UZST

+06:00

Uzbekistan Summer Time

YEKST

+06:00

Yekaterinburg Summer Time

CCT

+06:30

Indian Cocos (Island) Time

MMT

+06:30

Myanmar Time

ALMST

+07:00

Almaty Savings Time

CVT

+07:00

Christmas Island Time (Indian Ocean)

CXT

+07:00

Christmas Island Time (Indian Ocean)

DAVT

+07:00

Davis Time (Antarctica)

ICT

+07:00

Indochina Time

JAVT

+07:00

Java Time

KRAST

+07:00

Krasnoyarsk Summer Time

NOVST

+07:00

Novosibirsk Summer Time

OMSST

+07:00

Omsk Summer Time

WAST

+07:00

West Australian Std Time

JT

+07:30

Java Time

AWST

+08:00

Western Australia

BNT

+08:00

Brunei Darussalam Time

BORT

+08:00

Borneo Time (Indonesia)

CCT

+08:00

China Coast Time

HKT

+08:00

Hong Kong Time

IRKT

+08:00

Irkutsk Time

KRAT

+08:00

Krasnoyarsk Standard Time

MYT

+08:00

Malaysia Time

PHT

+08:00

Phillipine Time

ULAT

+08:00

Ulan Bator Time

WADT

+08:00

West Australian DST

WST

+08:00

West Australian Standard   Time

MT

+08:30

Moluccas Time

AWSST

+09:00

Western Australia Time

IRKST

+09:00

Irkutsk Summer Time

JAYT

+09:00

Jayapura Time (Indonesia)

JST

+09:00

Japan Std Time, USSR Zone 8

KST

+09:00

Korea Standard Time

PWT

+09:00

Palau Time

ULAST

+09:00

Ulan Bator Summer Time

WDT

+09:00

West Australian DST

YAKT

+09:00

Yakutsk Time

ACST

+09:30

Central Australia

CAST

+09:30

Central Australian ST

SAST

+09:30

South Australian Std Time

SAT

+09:30

South Australian Std Time

AEST

+10:00

Australia Eastern Std Time

DDUT

+10:00

Dumont-d'Urville Time (Antarctica)

EAST

+10:00

East Australian Std Time

EST

+10:00

Australia Eastern Std Time

GST

+10:00

Guam Std Time, USSR Zone 9

KDT

+10:00

Korea Daylight Time

LIGT

+10:00

From Melbourne, Australia

MPT

+10:00

North Mariana Islands Time

PGT

+10:00

Papua New Guinea Time

trUK

+10:00

Truk Time

VLAT

+10:00

Vladivostok Time

YAKST

+10:00

Yakutsk Summer Time

YAPT

+10:00

Yap Time (Micronesia)

ACSST

+10:30

Central Australia Time

CADT

+10:30

Central Australian DST

CST

+10:30

Australia Central Std Time

LHST

+10:30

Lord Howe Standard Time, Australia

SADT

+10:30

South Australian Daylight Time

AESST

+11:00

Eastern Australia

LHDT

+11:00

Lord Howe Daylight Time, Australia

MAGT

+11:00

Magadan Time

NCT

+11:00

New Caledonia Time

PONT

+11:00

Ponape Time (Micronesia)

VLAST

+11:00

Vladivostok Summer Time

VUT

+11:00

Vanuata Time

ANAT

+12:00

Anadyr Time (Russia)

CKT

+12:00

Cook Islands Time

GILT

+12:00

Gilbert Islands Time

IDLE

+12:00

International Date Line, East

KOST

+12:00

Kosrae Time

MAGST

+12:00

Magadan Summer Time

MHT

+12:00

Kwajalein Time

NZST

+12:00

New Zealand Standard Time

NZT

+12:00

New Zealand Time

PETT

+12:00

Petropavlovsk-Kamchatski Time

TVT

+12:00

Tuvalu Time

WAKT

+12:00

Wake Time

WFT

+12:00

Wallis and Futuna Time

CHAST

+12:45

Chatham Island Time

ANAST

+13:00

Anadyr Summer Time (Russia)

NZDT

+13:00

New Zealand Daylight Time

PETST

+13:00

Petropavlovsk-Kamchatski Summer Time

PHOT

+13:00

Phoenix Islands (Kiribati) Time

TOT

+13:00

Tonga Time

CHADT

+13:45

Chatham Island Daylight Time

LINT

+14:00

Line Islands Time (Kiribati)

java之时间戳处理的更多相关文章

  1. Java 存储时间戳的几种方式

    有时需要记录一下数据生成时间的时间戳,精确到秒,这里记录一下java存储时间戳字符串的几种方式 1.DateFormat private static final SimpleDateFormat s ...

  2. 练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)用jackson包 实现

    练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)jackson包 实现 entity @Entity @DynamicUpdate //自动更新日期 @Data //get/ ...

  3. Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间

    ylbtech-Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间 1.返回顶部 1. Java 实例 - 时间戳转换成时间  Java 实例 以下实例演示 ...

  4. java 获取时间戳的三种方式

      java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMi ...

  5. 【问题记录】MySQL中时间戳转日期格式和Java中时间戳转日期格式偶尔不一致

    背景: MySQL的某个字段存放着一些时间戳格式的时间. 问题描述: Java程序将MySQL中的时间戳字段取出来,在Java程序中转成yyyy-MM-dd HH:mm:ss格式的时候,偶尔会出现转化 ...

  6. java 获取时间戳

    //java 获取时间戳 long currentTime=System.currentTimeMillis();

  7. php 与 java 生成时间戳的区别

    最近服务器有java却换到php环境,生成的时间戳转换成时间格式的出现异常,查询资料得知: PHP 的 time() 函数返回的结果是 Unix 时间戳,值的单位是秒:如:1463564861 Jav ...

  8. java获取时间戳的方法

    JAVA 获取当前月的初始时间的时间戳 public static long getMonthFirstDay() { Calendar calendar = Calendar.getInstance ...

  9. java获取时间戳

    package com.ycy.test; import java.text.SimpleDateFormat; import java.util.Date; public class ItemsCo ...

  10. Java中将时间戳转化为Date类型

    时间戳timestamp,从前端接收到后.他能够是一个long或者包装类Long再或者是个String类型.仅仅需 new Date(时间戳) 就能够直接转化为java.util.Date类型. 转化 ...

随机推荐

  1. Vue 例子

    一.简单音乐播放器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. Java框架之SpringMVC 04-视图解析-Spring表单-JSON-上传下载

    SpringMVC 视图解析 请求处理方法(controller方法)执行完成后,最终返回一个 ModelAndView 对象,即使出现异常也会返回一个 ModelAndView 对象.对于那些返回 ...

  3. <c:forEach /c:forEach>中varStatus的作用

    varStatus封装了当前遍历的状态,可以从该对象上查看是遍历到了第几个元素举例如下 <c:forEach items="${cs}" var="c" ...

  4. scikit-learn基础

    一.scikit-learn基础 sklearn.ensemble模块有两种基于决策树的算法----随机森林和极端随机树

  5. 隐隐约约 听 RazorEngine 在 那里 据说 生成代码 很 美。

    这只是 一个开始 ....

  6. 链接拼接的方法(用于解决同一个脚本返回两种不同的url链接的问题)

    实例一: 上图所示 爬虫返回的链接有一部分带有http前缀,有一部分没有,且也不知道具体哪些链接会出现没有前缀的情况 后面如果通过返回链接进行再次访问,那么肯定会出现报错的问题 思路: 判断 返回值内 ...

  7. Centos 7 部署lnmp集群架构

    前言介绍 lnmp的全程是 linux + nginx + mysql + php; lnmp就是上述系统及应用程序的简写组合: lnmp其实已经代表了一个用户正常对一个页面请求的流程,nginx接收 ...

  8. JS中for...in循环陷阱及遍历数组的方式对比

    JavaScript中有很多遍历数组的方式,比较常见的是for(var i=0;i<arr.length;i++){},以及for...in...循环等,这些遍历都有各自的优缺点,下面来看看各种 ...

  9. 基于Arduino开发的简易“高水位报警系统解决方案”

    长期以来,针对“某些办公室空调没有排水系统,只能用水桶接水,经常造成水漫金山的问题”而提出来的. 材料:Arduino开发板一块.水位传感器一个.高电平蜂鸣器一个.杜邦线若干. 原理:将水位传感器置于 ...

  10. JavaScript 替换所有匹配内容

    由于JavaScript 的 replace 只能替换一次,因此另外编写一个能现替换全部匹配内容方法,代码如下: /*把 content 中所有的 searchValue 替换为 replaceVal ...