導航:首頁 > 編程語言 > php獲取當前時區

php獲取當前時區

發布時間:2022-12-16 02:51:56

1. php如何獲取伺服器所在的時區

date_default_timezone_get()
函數是獲取當前伺服器所在時區,與之對應的有date_default_timezone_set()
來設置伺服器時區的對應函數。

2. PHP怎麼獲取 Windows系統當前時間

不改設置的話在頁面頭部加上這么一句
date_default_timezone_set('Asia/Shanghai');
然後date('Y-m-d H:i:s);
出來的就是當前區時的系統時間啦

3. php獲取當前時間

PHP獲取當前時間可以使用time函數,函數格式為 int time ( void ),返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。


把time格式的時間以年月日時分秒的格式輸出,可以使用date函數,格式是string date ( string $format [, int $timestamp ] ),例子代碼:

<?php
$t=time();
echo"$t ";
echodate('Y-m-dH:i:s',$t)
?>

運行結果為:

E:TEMP文件exp>a.php
1451271607
2015-12-2811:00:07


date函數的格式化字元許多,主要的有下面這些:


年:

L 是否為閏年 如果是閏年為 1,否則為 0

o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003

Y 4 位數字完整表示的年份 例如:1999 或 2003

y 2 位數字表示的年份 例如:99 或 03


月:

F 月份,完整的文本格式,例如 January 或者 March January 到 December

m 數字表示的月份,有前導零 01 到 12

M 三個字母縮寫表示的月份 Jan 到 Dec

n 數字表示的月份,沒有前導零 1 到 12

t 給定月份所應有的天數 28 到 31


日:

d 月份中的第幾天,有前導零的 2 位數字 01 到 31

D 星期中的第幾天,文本表示,3 個字母 Mon 到 Sun

j 月份中的第幾天,沒有前導零 1 到 31

l(「L」的小寫字母) 星期幾,完整的文本格式 Sunday 到 Saturday

N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)

S 每月天數後面的英文後綴,2 個字元 st,nd,rd或者 th。可以和 j 一起用

w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)

z 年份中的第幾天 0 到 366


星期:

W ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)


時間:

a 小寫的上午和下午值 am 或 pm

A 大寫的上午和下午值 AM 或 PM

B Swatch Internet 標准時 000 到 999

g 小時,12 小時格式,沒有前導零 1 到 12

G 小時,24 小時格式,沒有前導零 0 到 23

h 小時,12 小時格式,有前導零 01 到 12

H 小時,24 小時格式,有前導零 00 到 23

i 有前導零的分鍾數 00 到 59>

s 秒數,有前導零 00 到 59>

4. PHP獲取當前伺服器時間

php獲得伺服器時間,用到的工具:notepad++,步驟如下:

  1. 代碼如下:

<?php
//以中國為時區為示例
date_default_timezone_set("PRC");
echodate("Y年-m月-d日H:i:s");
?>

說明:輸出的時間格式為xxxx-xx-xx xx:xx:xx即2017-03-21 20:45:59

2.將代碼放到一個php文件中,以home.php為示例,放到網站目錄下邊,運行以後的效果:

注意事項:此代碼必須在php環境下運行。

5. php 如何 獲取 數字 時區,比如+8 -8

查了php.ini沒有找到相關函數,那麼只能"曲線救國"了.我是這樣實現的
function current_timezone(){
return ($t=date("H",0))>12?$t-24:(int)$t;
}
另外,網上還找到有一種
timezone_offset_get(new DateTimeZone(date_default_timezone_get()), new DateTime())/3600
要創建兩個對象,所以想必效率會打折扣

6. php如何獲取伺服器所在的時區

//獲取默認時區
echodate_default_timezone_get();

//將時區設置為中國
date_default_timezone_set("PRC");

7. PHP中time獲取時間戳為當前時間,它是格林威治時間還是本地時間

是格林威治時間。

time

返回當前的 Unix 時間戳 (PHP 3, PHP 4, PHP 5)

int time ( )

說明

返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。

提示:
自 PHP 5.1 起在 $_SERVER['REQUEST_TIME']
中保存了發起該請求時刻的時間戳。

權威答案,請採納,有後續問題請加分追問。

8. PHP中的國際化日歷類

在 PHP 的國際化組件中,還有一個我們並不是很常用的跟日期相關的操作類,它就是日歷操作類。說是日歷,其實大部分還是對日期時間的操作,一般也是主要用於日期的格式化和比較之類的。但是通常我們直接使用 date 相關的函數或者 DateTime 相關的類操作日期相關的功能,反而比這套日歷的功能更方便靈活。當然,本著學習的目的,我們還是來簡單地了解一下。

首先還是從格式化時間說起。

IntlCalendar 類的 createInstance() 方法會返回一個 IntlCalendar 對象,它的參數是可選的,不過必須是 TimeZone 類型的參數。fromDateTime() 方法同樣也是生成一個 IntlCalendar 對象,不過它可以設置一個 DateTime 對象或者日期類型的字元串為參數。

可以看到,我們返回的對象使用 get_class() 方法後看到實際返回的是一個 IntlGregorianCalendar 格林格里日歷對象。這時,就可以使用 IntlDateFormatter 類的 formatObject() 方法來格式化輸出內容,它是可以指定地區的,不同的地區設置就會顯示不同的格式化語言結果。

不多做解釋了,不過這個靜態方法返的是帶毫秒數的時間戳。

只要是國際化相關的功能,都多少和時區 TimeZone 有關,日歷類也不例外。

使用 getTimeZone() 就可以獲得當前的時區信息,getLocale() 和之前我們文章中其它相關功能類的 getLocale() 方法沒有什麼區別,大家可以看下之前講過的內容。當然,這個 TimeZone 屬性除了通過 ini_set() 之外,也是可以直接通過對象的 setTimeZone() 方法進行修改的。

這是什麼意思呢?先看下代碼。

樓上這一堆是什麼鬼?其實這幾個方法就是返回的指定參數欄位內容的最大、最小值,比如我們查看的是 FIELD_DAY_OF_MONTH ,也就是月份有多少天。getActualMaximum() 返回的是實際值,比如 2020 年的 2 月份是有 29 天的 。getMaximum() 返回的是正常月份的最大值,都是 31 。getActualMinimum() 、getMinimum() 返回的是實際最小值和正常最小值,這個對於月份來說都是 1 ,每個月都肯定會有第 1 天。getLeastMaximum() 方法是獲取欄位的最小局部最大值,怎麼理解呢?2月份最小天數是28天,它的局部最大值也就是28天,其它月份則分 30 和 31 天。

這個功能主要是可以設置一周的起始日期是周幾。比如對於歐美的國際標准時間來說,周一並不是一周的開始,周日才是這一周的第一天。大家從各種日歷應用中就能發現這個問題。

在當前的時區中,我們 getFirstDayOfWeek() 返回的結果是 1 ,也就是周一為一周的起點,周幾是從 0 開始計算的。set() 方法可以設置具體的日期,需要注意月份也是從 0 開始的。我們再使用 IntlDateFormatter::formatObject() 輸出當前日期在周幾、在月中的第幾周以及當前周是今年的第幾周。在這里我們設置的是 2020年的 6 月 30 號,'cc' 表示的當前日期在周中是周四,是一周中的第四天(不是指定的6月30號,是我們運行代碼時的時間,方便我們修改後查看),當前周是在當前月是第五周,當前周在整年裡的是第 27 周。如果我們改變這個每周開始的時間呢?

嗯,'cc' 變為 1 了,當前成為了周一。現在是在當前月份的第 6 周了,因為我們現在一周的開始是從周四開始算的啦。

這個比較簡單,日歷對象內部的屬性不同,當然 equals() 方法返回的結果就是 false 了。

除了比較日歷對象外,還可以獲取兩個日歷時間之前的差值信息。

可以看到使用 fieldDifference() 方法就可以獲得日歷對象和比較日期之間相關的信息。需要注意的是,使用 fieldDifference() 之後,原來的日歷對象全變成新的日期信息。

getKeywordValuesForLocale() 方法的第一個參數只能固定寫 calendar ,後面是填寫相關的區域,返回的內容就是當前語言環境下所支持的相關字值信息。

很明顯,getType() 方法返回的就是指定語言區域信息的類型。

使用 roll() 方法可以滾動或者說是卷動日歷,在這里我們將日歷滾動一天,也就是加了一天的時間。

使用 toDateTime() 方法就可以將當前的 IntlCalendar 對象轉換成 DateTime 對象。

getAvailableLocales() 返回的是當前系統中所有支持可用的 Locale 信息。

關於日歷類其實還有很多方法函數,但是看得人非常頭暈,英文解釋不多,資料也不清晰,所以這里就是簡單的列舉了一些內容。大家還是報以學習的心態了解即可,當需要使用到的時候可以快速地想起還這些功能就可以了。

測試代碼:https://github.com/zhangyue0503/dev-blog/blob/master/php/202011/source/7.PHP中的國際化日歷類.php

參考文檔:

https://www.php.net/manual/zh/class.intlcalendar.php

9. PHP如何獲取本地時間與伺服器時間

PHP獲取伺服器時間和本地時間很簡單,可以用內置函數實現,具體代碼如下:


記得給分!!!


<?php
//獲取伺服器時間
echodate("Y-m-dh:i:s");
//獲取本地時間(也可以說是你所在時區時間)
date_default_timezone_set('地區');//地區:中國是PRC,或shanghai,chongqing都可
echodate("Y-m-dh:i:s");
?>

當然獲取本地時間還可以用JS實現,如下:
<scripttype="text/javascript">
functionshowLocale(objD){
varstr,colorhead,colorfoot;
varyy=objD.getYear();
if(yy<1900)yy=yy+1900;
varMM=objD.getMonth()+1;
if(MM<10)MM='0'+MM;
vardd=objD.getDate();
if(dd<10)dd='0'+dd;
varhh=objD.getHours();
if(hh<10)hh='0'+hh;
varmm=objD.getMinutes();
if(mm<10)mm='0'+mm;
varss=objD.getSeconds();
if(ss<10)ss='0'+ss;
varww=objD.getDay();
if(ww==0)colorhead="<fontcolor="#000000">";
if(ww>0&&ww<6)colorhead="<fontcolor="#000000">";
if(ww==6)colorhead="<fontcolor="#000000">";
if(ww==0)ww="星期日";
if(ww==1)ww="星期一";
if(ww==2)ww="星期二";
if(ww==3)ww="星期三";
if(ww==4)ww="星期四";
if(ww==5)ww="星期五";
if(ww==6)ww="星期六";
colorfoot="</font>"
str=colorhead+yy+"-"+MM+"-"+dd+""+hh+":"+mm+":"+ss+""+ww+colorfoot;
return(str);
}

functiontick(){
vartoday;
today=newDate();
document.getElementById("localtime").innerHTML=showLocale(today);
window.setTimeout("tick()",1000);
}

tick();
</script>

10. php 當前時間獲取問題,急啊啊啊啊 。。。。。

php配置問題,默認用的是0時區,中國是+8時區,所以差了8個小時。在php.ini中修改date.timezone
=
PRC就好了

閱讀全文

與php獲取當前時區相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163