繁体   English   中英

如何在php中默认设置时区?

[英]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

为了从日期中获取时间戳,您可以使用mktimestrtotime函数。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM