mktime函数未显示正确的月份名称

时间:2015-09-30 09:39:26

标签: php expressionengine php-5.3

所有人请尝试理解{segment_4}不是变量。从网址获取第4个值,例如www.example.com/panel/vals/2015/09即09

我在Expression引擎中使用mktime函数但是它给出了错误的月份名称,即使我已经设置了从admin面板到india kolkata的本地化设置,这里是代码: -

<?php echo date('F', mktime(0, 0, 0, {segment_4}, 10));?> 

这里segment_4是个月的数字,例如。 09但它显示 12月它应该是 9月我研究过每一个说该功能正确的地方我必须在表达引擎中设置其他任何东西吗?

当我使用此代码时还有一件事: -

echo date_default_timezone_get();

然后它显示欧洲/伦敦甚至我已经改变了印度/ kolkata的EE时区

提前致谢

1 个答案:

答案 0 :(得分:1)

好的,你有一个'09',它被解释为八进制9,这是一个错误,(因为符号'9'在八进制中不存在),因此它被转换为0.这是由mktime为12月。来自@fpietka评论。

我建议使用

<?php echo date('F', mktime(0, 0, 0, ltrim($segment_4, "0"), 10));?>