2

我试图用英语以外的另一种语言在 php 中获取一天的名称。我将语言环境设置更改为setlocale(LC_ALL, 'nl_NL');(返回 true),但日期仍以英文显示。然后我发现你应该使用strftime()它来工作,但这只是以设置的语言返回当前时间,而且我试图在预定义的天数中循环,所以输出将是

Vrijdag 8 月 30 日

Zaterdag 8月31日

宗达格 9 月 1 日

等等

从当前时间戳中减去/添加天数也不是我想做的选择。

4

2 回答 2

3

每当您需要根据区域设置操作日期/时间戳时,您应该使用 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));
?>
于 2013-08-29T11:47:17.043 回答
0

函数 strftime 接受第二个参数:一个 unix 时间戳:

http://de1.php.net/manual/en/function.strftime.php

您可以简单地将日期转换为 unix 时间戳并将它们作为第二个参数传递。

于 2013-08-29T11:47:49.293 回答