Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 使用侦听器在控制台命令中设置区域设置_Symfony_Symfony 2.3 - Fatal编程技术网

Symfony 使用侦听器在控制台命令中设置区域设置

Symfony 使用侦听器在控制台命令中设置区域设置,symfony,symfony-2.3,Symfony,Symfony 2.3,我想在使用configuration.yml文件中的区域设置定义执行控制台命令期间使用strftime函数 由于我在控制台命令期间没有请求、会话等,因此我真的不知道如何在不将其破解到代码中的情况下以良好的方式实现这一点。现在,我的代码如下所示: $date = "20131210"; $dateObject = \DateTime::createFromFormat("Ymd", $date); setlocale(LC_ALL, $this->locale); return strfti

我想在使用configuration.yml文件中的区域设置定义执行控制台命令期间使用strftime函数

由于我在控制台命令期间没有请求、会话等,因此我真的不知道如何在不将其破解到代码中的情况下以良好的方式实现这一点。现在,我的代码如下所示:

$date = "20131210";
$dateObject = \DateTime::createFromFormat("Ymd", $date);
setlocale(LC_ALL, $this->locale);
return strftime("%e %A %G", $dateObject->getTimestamp());
我真正想要的是一个以某种方式设置我的区域设置的侦听器


有什么建议吗?

我知道这个问题有点老了,但也许有人会发现以下内容很有帮助,因为它不是很明显

如果您的命令类扩展了ContainerWareCommand,您可以使用$this->getContainer->getParameter'locale'从配置中获取区域设置,那么我假设您在parameters.yml中将区域设置定义为参数

现在是不太明显的部分:首先,您应该检查您的系统支持哪些地区。在linux服务器上,您可以在控制台中使用以下命令检查:

locale -a
它应该返回类似于以下内容的内容:

C
en_US.utf8
pl_PL.utf8
POSIX
您只能使用该命令列出的区域设置。如果您使用没有.utf8部分的eg pl_pl,那么它可能无法工作