[英]How to set time zone by default in php?
date_default_timezone_set('Asia/Kolkata');
$x ='2016-03-15';
echo date("j M [D] Y",$x);
但是当我运行这段代码时,它显示错误的输出:1970 年 1 月 1 日 [星期四]
我希望输出如下:2015 年 3 月 15 日 [星期二]。
请帮助我,这段代码有什么问题。
您的问题标题具有误导性,您的时区设置很好。 日期显示不是。
date
期望第二个(可选)参数是 Unix 时间戳,而不是日期。 首先将您的日期转换为 unix 时间戳。
echo date("j M [D] Y",strtotime($x));
这可以在手册上看到
字符串日期(字符串 $format [, int $timestamp = time() ] )
您误用了date函数:第二个参数必须是timestamp ,而不是字符串。
参考: http : //php.net/manual/en/function.date.php
为了从日期中获取时间戳,您可以使用mktime或strtotime函数。
strtotime — 将任何英文文本日期时间描述解析为 Unix 时间戳
date_default_timezone_set('Asia/Kolkata');
$x ='2016-03-15';
echo date("j M [D] Y",strtotime($x));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.