首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >datetime symfony法语OVH

datetime symfony法语OVH
EN

Stack Overflow用户
提问于 2018-03-27 23:14:24
回答 1查看 341关注 0票数 0

我不明白为什么在OVH中设置的区域设置不适用于我的config.yml服务器。

我尝试在没有框架的情况下直接在php中转换日期,下面是我的结果:

代码语言:javascript
复制
setlocale (LC_TIME, 'fr_FR.utf8');

echo strftime ("% A% e% B% Y", mktime (0, 0, 0, 12, 22, 1978));

$today = new \datetime();
print_r ($today-> format ('l d F Y - H:i'));

返回:"vendredi 22 décembre 1978“”2018年3月27日星期二- 18:49“

我只想要"vendredi 22 décembre 1978“

我不想使用https://www.simonholywell.com/post/2015/07/international-php-dates-with-intl/,因为我不想在每次需要显示日期时都转换日期。

我在其他主机上没有这个问题。仅限OVH虚拟主机。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2018-03-28 21:06:07

同一博客中的this article有一个解决方法,可以将日期对象转换为时间戳,然后使用strftime根据语言环境设置对其进行格式化

代码语言:javascript
复制
setlocale(LC_TIME, 'fr_FR')

echo strftime("%A %e %B %Y", (new \DateTime())->getTimestamp());

Carbon是一个扩展DateTime的库,它在自己的formatLocalized method中处理这个问题

代码语言:javascript
复制
echo strftime("%A %e %B %Y", strtotime((new \DateTime())->format('Y-m-d H:i:s')));

我不知道为什么要使用strtotimeDateTime::format而不仅仅是DateTime::getTimestamp (由于strftime,两者都被限制为UNIX时代之后的日期),但我猜您必须以某种方式转换DateTime。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49516627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档