我来自德国,在工作中我们使用旧的Symfony2版本(2.1)。 我写了一个名为“GermanDateExtension”的枝条过滤器。
public function getGermanDateFilter($date, $format)
{
setlocale(LC_TIME, 'de_DE.utf8');
return strftime($format, $date);
}
通过setlocale()设置Locale,并返回格式化日期。 我还为这个过滤器编写了一些单元测试。
public function testGermanDay()
{
$germanDate = new GermanDateExtension();
$result = $germanDate->getGermanDateFilter($this->testDate, '%A');
$this->assertEquals('Mittwoch', $result);
}
默认语言环境应为“de”(在parameters.ini中)。 代码在我的网站上没有问题,但是测试失败了。
现在问题在于: 如果我执行测试,则默认语言环境为“en”,并忽略setlocale()调用。因此,不是“Mittwoch”,而是返回英文名称“Wednesday”。
您有任何想法如何解决这个问题吗?
提前致谢!
答案 0 :(得分:0)
使用linux shell,一切都像魅力一样。因此在使用区域设置和窗口时要小心......