将数组转换为变量并对其进行操作以在 php 中创建 XML 文件
Convert array in a variable and manipulate it to create XML file in php
$bday = $f['date_of_birth']; //it outputs-> 20102016
所以我尝试使用 preg_split() 甚至 explode() 但没有帮助
$str = $bday;
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars[0]);
我想使用 $bday 作为 DOMDocument 中的节点值来创建 XML 文件
$doc = new DOMDocument();
$doc->formatOutput = true;
$root = $doc->createElement('StudentDetails');
$root = $doc->appendChild($root);
$ele1 = $doc->createElement('DateOfBirth');
$ele1->nodeValue=$bday;
$root->appendChild($ele1);
我希望我的 XML 输出像
<?xml version="1.0"?>
<StudentDetails>
<DateOfBirth>20/10/2016</DateOfBirth>
</StudentDetails>
如果日期始终为 DDMMYYYY
,您可以使用 preg_replace.
插入斜线
$bday = preg_replace('/(\d\d)(\d\d)(\d\d\d\d)/', "//", $bday);
只需将 $f['date_of_birth']
更改为 20 10 2016。然后只需使用:
$chars = explode(" ",$bday);
然后你有一个包含以下值的数组:{20,10,2016}
the DateTime class 的魔法来拯救!
$dtz = new DateTimeZone ("UTC");
$birthdate = new DateTime ($f['dateofbirth'], $dtz);
echo $birthdate->format ("d/m/Y");
如果您想按时进行一些计算,那么您可能需要为您所在的位置设置正确的时区。如果没有,那么 UTC 就足够了。
您可以使用 DateTime::createFromFormat
函数将日期转换为您的格式。在函数中,您必须提供当前格式。最后你必须提供你期望的格式 ($date->format('d/m/Y')
).
$bday = '20102016';
$date = DateTime::createFromFormat('dmY',$bday);
echo $date->format('d/m/Y');
$bday = $f['date_of_birth']; //it outputs-> 20102016
所以我尝试使用 preg_split() 甚至 explode() 但没有帮助
$str = $bday;
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars[0]);
我想使用 $bday 作为 DOMDocument 中的节点值来创建 XML 文件
$doc = new DOMDocument();
$doc->formatOutput = true;
$root = $doc->createElement('StudentDetails');
$root = $doc->appendChild($root);
$ele1 = $doc->createElement('DateOfBirth');
$ele1->nodeValue=$bday;
$root->appendChild($ele1);
我希望我的 XML 输出像
<?xml version="1.0"?>
<StudentDetails>
<DateOfBirth>20/10/2016</DateOfBirth>
</StudentDetails>
如果日期始终为 DDMMYYYY
,您可以使用 preg_replace.
$bday = preg_replace('/(\d\d)(\d\d)(\d\d\d\d)/', "//", $bday);
只需将 $f['date_of_birth']
更改为 20 10 2016。然后只需使用:
$chars = explode(" ",$bday);
然后你有一个包含以下值的数组:{20,10,2016}
the DateTime class 的魔法来拯救!
$dtz = new DateTimeZone ("UTC");
$birthdate = new DateTime ($f['dateofbirth'], $dtz);
echo $birthdate->format ("d/m/Y");
如果您想按时进行一些计算,那么您可能需要为您所在的位置设置正确的时区。如果没有,那么 UTC 就足够了。
您可以使用 DateTime::createFromFormat
函数将日期转换为您的格式。在函数中,您必须提供当前格式。最后你必须提供你期望的格式 ($date->format('d/m/Y')
).
$bday = '20102016';
$date = DateTime::createFromFormat('dmY',$bday);
echo $date->format('d/m/Y');