我试图用英语以外的另一种语言在 php 中获取一天的名称。我将语言环境设置更改为setlocale(LC_ALL, 'nl_NL');
(返回 true),但日期仍以英文显示。然后我发现你应该使用strftime()
它来工作,但这只是以设置的语言返回当前时间,而且我试图在预定义的天数中循环,所以输出将是
Vrijdag 8 月 30 日
Zaterdag 8月31日
宗达格 9 月 1 日
等等
从当前时间戳中减去/添加天数也不是我想做的选择。
每当您需要根据区域设置操作日期/时间戳时,您应该使用 strftime
还将编码更改为 utf-8
http://php.net/manual/en/function.strftime.php
例子 :
<?php
header('Content-Type: text/html; charset=UTF-8');
$myDate = "Feb 21, 2013";
$locale = 'fr_FR.utf8';
setlocale(LC_ALL, $locale);
echo strftime('%d %B %Y', strtotime($myDate));
$locale = 'en_US.utf8';
setlocale(LC_ALL, $locale);
echo strftime('%d %B %Y', strtotime($myDate));
?>
函数 strftime 接受第二个参数:一个 unix 时间戳:
http://de1.php.net/manual/en/function.strftime.php
您可以简单地将日期转换为 unix 时间戳并将它们作为第二个参数传递。