我得到了json响应,格式如下:
"/Date(1234)/"
如何在php中将数字仅作为字符串(1234)?
感谢
答案 0 :(得分:1)
$dateonly = "/Date(1234)/";
echo $dateonly = preg_replace("/[^0-9,.]/", "",$dateonly);
答案 1 :(得分:0)
我认为这不是JSON,或者至少不是有效的JSON。尽管如此,您可以提取这样的数字:
preg_match_all('!\d+!', stripslashes("/Date(1234)/"), $output);
echo $output;
答案 2 :(得分:0)
此格式/Date(1234)/
通常称为JSON日期格式。它包含带有毫秒的unixtime。因此,当您提取数字时,需要将其除以1000
以获取unixtime并在PHP中处理它。
在这里,我提供了一个函数来提取日期并将其转换为 PHP DateTime
对象
function parseJSDate($jsDateObject)
{
$dateTime = null;
if (preg_match("/\/Date\((\d+)\)\//", $jsDateObject, $match)) {
if (isset($match[1]) && is_numeric($match[1])) {
$timestamp = (int) $match[1];
$dateTime = new \DateTime();
$dateTime->setTimestamp($timestamp / 1000);
}
}
return $dateTime;
}
$date = parseJSDate("/Date(1224043200000)/");
echo $date->format("Y-m-d H:i:s");