使用PHP strftime()将日期和月份名称转换为大写字母

时间:2014-12-12 19:00:39

标签: php timezone strftime

当我想在默认timezone中显示时间时,没有问题,例如:

Friday, 12 de December del 2014

但是当我想用其他语言(其他时区)显示例如Spanish时,问题就存在了,它输出如下:

viernes, 12 de diciembre del 2014

我使用的时间格式为:"%A, %d de %B del %Y"

我想像这样展示:Viernes, 12 de Diciembre del 2014


我尝试使用ucfirst()ucwords()函数解决它,但我认为它们不是很好的解决方案,因为它显示如下:Viernes, 12 De Diciembre Del 2014

1 个答案:

答案 0 :(得分:0)

好吧,最后在搜索了一个回答我问题的魔法之后,我没有其他选择,而是使用了用户John Conde的建议。

以下是我使用的方法:

$default_local_date = ucwords(utf8_encode(strftime("%A, %d de %B del %Y")));

$date_connectors_capital = array('De', 'Del');
$date_connectors_lower = array('de', 'del');

$local_date = str_replace($date_connectors_capital, $date_connectors_lower, $default_local_date);

echo $local_date;