Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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
PHP转换日期符号_Php_Date - Fatal编程技术网

PHP转换日期符号

PHP转换日期符号,php,date,Php,Date,希望这一点很简单: 在某些设置中,我得到所需的日期符号:d.m.Y。 在处理一些XML内容时,我需要如下符号:%d.%m.%Y 有没有一种方法可以将它们相互转换?我不需要将日期转换成不同的符号,而是转换成符号本身 嗯。下面是一个例子: $dateformat = $config->dateformat; // "d.m.Y" ... $form->setFieldAttribute('date', 'format', '%d.%m.%Y'); // this is where i

希望这一点很简单:

在某些设置中,我得到所需的日期符号:
d.m.Y
。 在处理一些XML内容时,我需要如下符号:
%d.%m.%Y

有没有一种方法可以将它们相互转换?我不需要将日期转换成不同的符号,而是转换成符号本身

嗯。下面是一个例子:

$dateformat = $config->dateformat; // "d.m.Y"
...
$form->setFieldAttribute('date', 'format', '%d.%m.%Y');  // this is where i cannot use $config->dateformat

设置中的符号可以更改,这需要反映在其他符号上。是否有一些函数用于此,或者我需要编写一些代码


谢谢

您需要编写一些代码。而且代码可能并不适用于所有情况。 以简单方式执行此操作的示例代码(但问题并不简单):

$divider=“.”;
$df1=“%d.%m.%Y”;
$df2=str_replace(“%”,“”,$df1);
$df3=substr(str_替换($divider,“$divider%”,($divider.$df2)),1);
回声“$df1
”; 回声“$df2
”; 回声“$df3
”;
我不完全清楚你在问什么。你能提供几个简单的问题吗?你说你有d.m.Y,想要%d.%m.%Y。这是同一件事。你说的“同一件事”是什么意思?我不能写
$form->setFieldAttribute('date','format','d.m.Y')好的,我知道了,您不想更改日期的格式,但要更改存储格式的字符串。我认为这不起作用,因为%M!=如我所说,配置符号是可以自由配置的。可能有人写了
d.M.Y
OK。这就是问题所在,如果有什么办法可以做到的话。我想我不是唯一需要这个的人。谢谢你的时间!“设置中的符号可以更改”“M”不是不正确的符号。你的代码是非常静态的,我说过所有的符号都可以发生。不用麻烦了。
$divider = ".";  
$df1 = "%d.%m.%Y";
$df2 = str_replace("%", "", $df1);
$df3 = substr(str_replace($divider,"$divider%",($divider.$df2)), 1);

echo "$df1<br>";
echo "$df2<br>";
echo "$df3<br>";
$dateformat = '%' . implode('.%', explode('.', $dateformat));