PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法

从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时。

关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共和国)港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore其它:Etc/GMT-8 ,Singapore ,Hongkong

解决方法一:在获取时间前插入时区设置函数,设置成本地时区:

date_default_timezone_set("PRC");

解决方法二:使用time()或者strtotime()函数获取当前使用的时区的时间戳,再加上8个小时的秒数(具体加几个小时,要看当前使用的时区,与你所在的时区之间相差几个小时)

//使用time()函数
echo date("Y-m-d H:i:s", time()+8*60*60);

//使用strtotime()函数
$nowtime = strtotime("+8");
echo date("Y-m-d H:i:s",$nowtime);

解决方法四(修改php.ini文件):

找到php.ini中的“;date.timezone =”这行,将“;”去掉,改成“date.timezone = PRC”(PRC:People‘s Republic of China 中华人民共和国),重启Apache,问题解决。

附:date时间格式

date("Y-m-d H:i:s"); 显示的格式: 年-月-日 小时:分钟:秒

相关时间参数:

a - "am" 或是 "pm" 
A - "AM" 或是 "PM" 
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" 
D - 星期几,三个英文字母; 如: "Fri" 
F - 月份,英文全名; 如: "January" 
h - 12 小时制的小时; 如: "01" 至 "12" 
H - 24 小时制的小时; 如: "00" 至 "23" 
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" 
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" 
i - 分钟; 如: "00" 至 "59" 
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" 
l - 星期几,英文全名; 如: "Friday" 
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" 
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" 
M - 月份,三个英文字母; 如: "Jan" 
s - 秒; 如: "00" 至 "59" 
S - 字尾加英文序数,二个英文字母; 如: "th","nd" 
t - 指定月份的天数; 如: "28" 至 "31" 
U - 总秒数 
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) 
Y - 年,四位数字; 如: "1999" 
y - 年,二位数字; 如: "99" 
z - 一年中的第几天; 如: "0" 至 "365"

获取时间戳的PHP函数:

mktime(时,分,秒,月,日,年)   获取指定时间的时间戳

//mktime函数获取时间戳 : 时、分、秒、月、日、年
echo "获取指定时间的时间戳:".mktime(12, 33, 34, 2, 23, 2020)."<br/>";

time()  获取当前时间的时间戳。

//获取当前时间戳
echo time();

原文地址:https://www.cnblogs.com/macliu/p/12349480.html

时间: 2024-08-01 03:57:50

PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法的相关文章

【转】PHP date(&quot;Y-m-d H:i:s&quot;);获取当前时间 差8小时解决办法

原因:                                                                                              网络资源整理 从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时. 关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/S

crontab 里如何使用 date +‘%Y%m%d‘ 创建带日期的日志文件

今天遇到一个crontab问题,就是在crontab -e 编辑时,想要把shell脚本输出重定向到一个含有日期的日志文件中.但是直接写不识别date +'%Y%m%d' ,不起作用,后来发现自己的写法不对,并且导致shell脚本不执行正确写法为:$(date +"\%Y\%m\%d")而不是这样:date +'%Y%m%d' 原文地址:https://blog.51cto.com/wangyan112/2399638

js 的date的format时间,获取当前时间,前一天的日期

Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds()

js中使用new Date(&quot;yyyy-mm-dd hh:mm:ss &quot;)结果为invalid date解决办法

问题描述: ios 中 使用  value = "2019-04-03 12:04:21" 结果为   NaN- NaN- NaN  NaN:NaN:NaN 因为不同的浏览器还是存在差异的,有的不能识别 解决方法  :将 - 替换成  / function formatTime(value) { //解决invalid date value = value.replace(new RegExp(/-/gm) ,"/"); var date = new Date(va

基于H.264协议的视频传输系统中遇到的问题以及解决办法

问题1.视频压缩解码模块在运用的时候出现错误:解码器再解码第二帧视频图片的时候出现异常 client: ../../decoder/T264dec.c:594:T264dec_decode_nal: Assertion `0' failed. Aborted 对于该问题的分析及解决过程为: 1.  修改数据类型,所有缓存区改为unsigned char类型(原来统一为char 类型),但是还是遇到一样的异常错误,问题没有解决. 2.  查看缓存区具体内容是否与服务器端压缩的数据是一致的的,对照数

php date()获取的时间不对解决办法

因为php默认获取的是格林威治时间,与北京时间相差8小时. 我们要获取到北京时间有两个办法: 1.修改php.ini配置文件: 打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = PRC.保存,重启Apahce服务即可(有时用restart会有问题,先stop然后start就行了). 2.使用date_default_timezone_set(timezone_identifier)函数: 在获取时间的

VS2013找不到winres.h的解决办法

好久没有搞C++了,搞C++最烦就各种版本问题的报错.我对C++项目开发不是很熟悉,因为项目需要用VS2013修改一个C++/MFC工程,一编译就报错无法打开包括文件:"winres.h": No such file or directory. 上网查了一下,这个'winres.h'是Windows SDK的一个头文件,打开C盘找一下,果然在Windows SDK目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include下

linux中无 conio.h的解决办法

conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义.conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等.大部分DOS,Windows,Phar Lap,DOSX,OS/2等平台上的C编译器提供此文件,UNIX和Linux平台的C编译器本身通常不包含此头文件,但已经有其兼容包,可参考: http://conio.sourceforg

PHP运行错最有效解决办法Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744

原文 PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312) Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744疑问:786432 是指786432bytes?即:768MB 98304 bytes=9