导航:首页 > 编程语言 > 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