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


Convert to capital letter the day and month names using PHP 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

好吧,最后在搜索了一种回答我问题的神奇方法之后,除了使用用户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;