因此,我在我的PHP脚本中有一个函数,它应该将日期作为8位整数(如01042012 ),并将其转换为01/04/2012来显示。
目前,我正尝试按以下方式使用php的date()函数:
$int = 01042012;
$date = date("d/m/Y", $int);它显示为$date,而不是具有01/04/2012值的13/01/1970。
这是因为date()希望我传递给它的日期是unix时间吗?如果是这样的话,会不会有一种更直接的方法来分割字符2和4之后的int,然后插入斜杠,然后重新组合它?就像explode()所做的那样,但我没有个性可言。
发布于 2014-01-29 14:12:04
一种简单的方法;
$int = 01042012;
$day = substr($int,0,2);
$month = substr($int,2,4);
$year = substr($int,4);
$date = $day.'/'.$month.'/'.$year;发布于 2014-01-29 14:07:28
使用DateTime::createFromFormat()静态方法,返回按照指定格式格式化的新DateTime对象:
$dt = DateTime::createFromFormat('dmY', '01042012');
echo $dt->format('d/m/Y');发布于 2014-01-29 14:10:43
基本上,从int值开始,int值为01042012实际上是1042012,因为前导零作为int没有任何意义。如果您以"01042012“作为字符串开始,您将更好地开始位置,以实现您想要的结果。
https://stackoverflow.com/questions/21433419
复制相似问题