我如何在php翻译日期


How can I translate date in php?

我想把日期翻译成法语。例如,我有Thursday 15 September 2016,我想有Jeudi 15 Septembre 2016

我的日期是dateTime格式:2016-07-20 10:51:00

我试过这样做:

setlocale (LC_TIME, 'fr_FR','fra');
echo strftime('%A %d %B %Y);

但这对我不起作用。我有英文的日期

给你

setlocale(LC_TIME, 'fr_CA.UTF-8');
echo strftime("%A %e %B %G");
下次试着用谷歌搜索你的问题。为多语种网站翻译PHP date()

您必须检查setlocale的返回值,因为如果locale字符串无效,您想要的locale未安装或其他原因,它将失败

if (setlocale(LC_ALL, "") == NULL) {
    echo("Unable to set locale");
}

您可以检查locale -a可用的区域设置。也许你已经安装了法语语言环境,但是你必须用fr_FR.utf8来设置它。

试试这个,

setlocale(LC_TIME, 'fr_CA.UTF-8');
echo strftime("%A %e %B %G");

试试这个,

setlocale(LC_TIME, 'fr_CA.UTF-8');
echo utf8_encode(strftime('%A %B %e, %Y', strtotime('2016-09-15 11:21:53')));// your date
参考

试试这个…!

setlocale (LC_TIME, 'fr_FR.utf8','fra'); 
echo (strftime("%A %d %B %Y")); 

我想以不同的格式和希腊语显示数据库中的日期存储。我发布这篇文章是为了给那些寻找同样问题解决方案的人节省一些时间。
使用此函数将DB中的日期字符串替换为目标语言。替换希腊文的日期和月份字符串。如果您需要另一种日期格式,您需要按照https://www.w3schools.com/PHP/func_date_date.asp

的说明更改date_format参数
function TranslateDate($stringDate) {  
$MonthGR = array('Ιανουάριου', 'Φεβρουάριου', 'Μάρτιου', 'Απρίλιου', 'Μάϊου', 'Ιούνιου', 'Ιούλιου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου');
$MonthEN = array('/January/', '/February/', '/March/', '/April/', '/May/', '/June/', '/July/', '/August/', '/September/', '/October/', '/November/', '/December/');
$DayGR = array('Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο', 'Κυριακή');
$DayEN = array('/Monday/', '/Tuesday/', '/Wednesday/', '/Thursday/', '/Friday/', '/Saturday/', '/Sunday/');
$hmera = preg_replace($MonthEN, $MonthGR, date_format(date_create($stringDate), 'l d F Y G:i '));
$hmera = preg_replace($DayEN, $DayGR, $hmera);
return $hmera;}