php从日期删除斜杠

时间:2014-01-07 14:17:57

标签: php regex

我有一个名为convert的函数,它接受日期(20140107)并用斜杠/(2014/01/07)替换4,2,2位置,以便在屏幕上可读的日期我也想在将斜杠发送到数据库之前删除斜杠 总之,这就是我要做的事情,请将此表格的日期改为2014/01/07并将其转换为20140107

下面的

是转换函数

function convert($date) 
{
  $numbers_only = preg_replace("/[^\d]/", "", $date);
  return preg_replace("/^1?(\d{4})(\d{2})(\d{2})$/", "$1/$2/$3", $numbers_only);
}

提前谢谢

5 个答案:

答案 0 :(得分:3)

只需使用str_replace

即可
function convert($date) 
{
  str_replace("/", "", $date);
}

答案 1 :(得分:3)

最好使用Datetime对象作为中间人。

从格式创建将允许您创建日期时间而不使用字符串操作

http://uk1.php.net/manual/en/datetime.createfromformat.php

然后您可以使用format函数以您喜欢的方式输出它。

http://uk1.php.net/manual/en/datetime.format.php

沿着......

$dateObj = DateTime::createFromFormat('Y/m/d', $date);
echo $dateObj->format('Ymd');

答案 2 :(得分:2)

只需使用str_replace()即可。更简单:

echo str_replace('/', '', $date);

答案 3 :(得分:0)

您可以使用内置的PHP函数str_replace()。所以请致电

return str_replace('/', null, $numbers_only);

而不是

return preg_replace("/^1?(\d{4})(\d{2})(\d{2})$/", "$1/$2/$3", $numbers_only);

答案 4 :(得分:0)

$originalDate = "2014/01/07";
$newDate = date("Ymd", strtotime($originalDate));
echo $newDate;