一尘不染

PHP Date函数的意大利语输出

php

我试图使用date()以下格式以意大利语格式输出日期:

<?php 
    setlocale(LC_ALL, 'it_IT');
    echo date("D d M Y", $row['eventtime']); 
?>

但是,它仍以英语格式发布。我还能做什么?有什么不对?

解决方案必须是特定于脚本的,而不是服务器范围的…

谢谢


阅读 439

收藏
2020-05-29

共1个答案

一尘不染

date()不支持区域设置。您应该使用strftime()及其格式说明符来输出可识别语言环境的日期(来自date()PHP手册):

要以其他语言设置日期格式,应使用setlocale()
strftime()函数而不是
date()

他是绝对正确的,因为您必须非常小心地设置区域设置,因为它们有时不限于当前脚本范围。最好的方法是:

$oldLocale = setlocale(LC_TIME, 'it_IT');
echo utf8_encode( strftime("%a %d %b %Y", $row['eventtime']) );
setlocale(LC_TIME, $oldLocale);
2020-05-29