如何用php把时间戳转化为年月日

如何用php把时间戳转化为年月日,第1张

PHP 中的 strtotime() 函数可以实现

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

strtotime(time,now)

time 规定要解析的时间字符串。

now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。

例子

<?php

echo(strtotime("2015-05-22 15:00:00"))

?>

<?PHP

/*

 * ==============================

 * 此方法由 mantye 提供  

 * http://my.oschina.net/u/223350 

 * @date 2014-07-22

 * ==============================

 * @description    取得两个时间戳相差的年龄

 * @before         较小的时间戳

 * @after          较大的时间戳

 * @return str     返回相差年龄y岁m月d天

**/

$after =1529380306

$before=time()

function datediffage($before, $after) {

 if ($before>$after) {

  $b = getdate($after)

  $a = getdate($before)

 }else {

  $b = getdate($before)

  $a = getdate($after)

 }

 

 $n = array(1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31)

 $y=$m=$d=0

 

if ($a['mday']>=$b['mday']) { //天相减为正

 

  if ($a['mon']>=$b['mon']) {//月相减为正

$y=$a['year']-$b['year']$m=$a['mon']-$b['mon']

  }else { //月相减为负,借年

$y=$a['year']-$b['year']-1$m=$a['mon']-$b['mon']+12

  }

  

$d=$a['mday']-$b['mday']

 }else {  //天相减为负,借月

  if ($a['mon']==1) { //1月,借年

 $y=$a['year']-$b['year']-1$m=$a['mon']-$b['mon']+12$d=$a['mday']-$b['mday']+$n[12]

  }else {

  

if ($a['mon']==3) { //3月,判断闰年取得2月天数

$d=$a['mday']-$b['mday']+($a['year']%4==0?29:28)

} else {

$d=$a['mday']-$b['mday']+$n[$a['mon']-1]

}

   

   

   if ($a['mon']>=$b['mon']+1) { //借月后,月相减为正

$y=$a['year']-$b['year']$m=$a['mon']-$b['mon']-1

   }else { //借月后,月相减为负,借年

$y=$a['year']-$b['year']-1$m=$a['mon']-$b['mon']+12-1

   }

   

   

}

 }

 

 return ($y==0?'':$y.'年').($m==0?'':$m.'个月').($d==0?'':$d.'天')

}

echo datediffage($before, $after)

?>

有典型意义,自写一个备用。没有用时间戳,可算古今万年。

<?php

//计算年数差

//参数:旧年,旧月,标年,标月

function reckonPeriod($by, $bm, $my,$mm){

$bd=new DateTime()

$bd->setDate($by, $bm,1)

$md=new DateTime()

$md->setDate($my, $mm,1)

$diff=$md->diff($bd)

return $diff->m >6? $diff->y+1:$diff->y

}

echo reckonPeriod(1954,3,2012,7).'年'

58年


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6422791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存