2022年3月5日 星期六

Android Studio - 獲取全球標準時間(UTC)(五十六)

Android Studio - 獲取全球標準時間(UTC)(五十六):

我們居住於地球的不同地區,大家的時間是根據地區而定,整個地球是分為二十四時區,每個時區都有自己的本地時間。為了統一起見,使用一個統一的時間,稱為通用協調時(UTC,Universal Time Coordinated / 全球標準時間)。UTC 與格林尼治平均時(GMT,Greenwich Mean Time / 格林威治標準時間)一樣,都與英國倫敦(London)的本地時相同。UTC 與 GMT 基本相同。

地球時區時間(Worldwide Time Zone)
獲取時間 UTC Date Time 範例:

Date currentTime = Calendar.getInstance().getTime();

String mLocalCurrentTime = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.getDefault()).format(currentTime);

 

TimeZone mTimeZone = TimeZone.getTimeZone("UTC");

DateFormat UTCTime = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");

UTCTime.setTimeZone(mTimeZone);

String mUTCTime = UTCTime.format(currentTime);

 

mtv_text.setText("Local Time    = " + mLocalCurrentTime + "\n"+ "Convert UTC = "+ mUTCTime + " = " + String.valueOf(i1));

獲取時間 UTC Date Time 結果:

Local Time   = 03-Feb-2022 15:24:21

Convert UTC  = 03-Feb-2022 23:24:21 = 90


獲取時間 GMT Date Time 範例:

import java.util.TimeZone;

Date mCurrentDate = new Date();

TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));

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

mtv_text.setText("GMT "+ mCurrentDate.getTime() + " = " + String.valueOf(i1));

獲取時間 GMT Date Time 結果:

GMT 1643920135285 = 174


獲取時間 UTC Date Time 範例:

import java.util.TimeZone;

Date mCurrentDate = new Date();

TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));

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

mtv_text.setText("UTC "+ mCurrentDate.getTime() + " = " + String.valueOf(i1));

獲取時間 UTC Date Time 結果:

UTC 1643920166405 = 150


獲取時間 UTC Date Time 範例:

Time mCurrentDate = new Time(Time.getCurrentTimezone());

mCurrentDate.setToNow();

mtv_text.setText(mCurrentDate.year + mCurrentDate.month + mCurrentDate.monthDay + mCurrentDate.format("%k:%M:%S") + " = " + String.valueOf(i1));

獲取時間 UTC Date Time 結果:

2026 17:32:18 = 89


獲取時間 UTC Date Time API > 26 範例:

import java.time.Instant;

Instant instant = Instant.now(); // Current moment in UTC.

String output = instant.toString();

mtv_text.setText(output + " = " + String.valueOf(i1));

獲取時間 UTC Date Time API > 26 結果:

2026-03-23T17:32:18.613Z = 89


獲取時間 UTC Date Time 範例:

import java.util.TimeZone;

int offset = TimeZone.getDefault().getRawOffset() + TimeZone.getDefault().getDSTSavings();

long utcTime = System.currentTimeMillis() - offset;

 

mtv_text.setText(utcTime + " = " + String.valueOf(i1));

獲取時間 UTC Date Time 結果:

1643910930371 = 14


時間顯示方法格式定義:

字母

日期或時間

類型

示例

G

Era 標誌符

Text

AD

y

年份

Number

2021; 01

M

年份中的月份

Text

March; Mar; 03

w

年份中的周數

Number

20

W

月份中的周數

Number

2

D

年份中的天數

Number

189

d

月份中的天數

Number

10

F

月份中的星期

Number

2

E

星期中的天數

Text

Sunday; Sun

a

Am/pm 標記

Text

PM

H

一天中的小時數(0-23

Number

0

k

一天中的小時數(1-24

Number

24

K

am/pm 中的小時數(0-11

Number

0

h

am/pm 中的小時數(1-12

Number

12

m

小時中的分鐘數

Number

30

s

分鐘中的秒數

Number

55

S

毫秒數

Number

978

z

時區

General time zone

Pacific Standard Time; PST; GMT-08:00

Z

時區

RFC 822 time zone

-0800


2022年 3月 5日(Sat)天氣報告
氣溫:42.0°F / 6.0°C @ 07:00
風速:每小時 5公里
降雨機會:5%
相對濕度:百分之 89%
天氣:多雲

沒有留言:

張貼留言