【问题标题】:php strtotime convert wrong datephp strtotime 转换错误的日期
【发布时间】:2011-05-29 19:51:10
【问题描述】:

我想知道为什么以秒为单位将日期转换为时间,然后再转换回来,结果是错误的???

$br= "<br>";

$unixtime= 1277267278;
echo 'unix time: ' . $unixtime . $br;

$readabledate= date('Y-m-d H:i:s', $unixtime);
echo 'readable date: ' . $readabledate . $br;

$expirydate= date('Y-m-d H:i:s', strtotime($readabledate . " +6 months + 7 days"));
echo 'expirydate: ' . $expirydate . $br;

$epochtime= convertFromDateToEpochTime($expirydate);   //convert to unixtime

echo 'epochtime: '. $epochtime . $br;

$readexpirydate= convertFromEpochTimeToDate($epochtime,$method = 1);  //convert it back to readable date

echo 'readexpirydate: '. $readexpirydate . $br;  // final result is wrong- 2009-11-03 xx

echo $br.$br.$br.$br.$br;
function convertFromDateToEpochTime($date)
{
        $year=substr($date,0,4);
        $month=substr($date,4,2);
        $day=substr($date,6,2);
        $hour=substr($date,8,2);
        $minute=substr($date,10,2);
        $second=substr($date,12,2);
        $newdate=mktime($hour,$minute,$second,$month,$day,$year);

        return $newdate;
}


function convertFromEpochTimeToDate($epoch,$method = 1)
{
 if ($method == 1)
    $date= date("Y-m-d H:i:s", $epoch);

 else if ($method == 2)
  $date= date("m/d/y H:i:s", $epoch);

 return $date;
}

【问题讨论】:

    标签: date strtotime epoch


    【解决方案1】:

    你需要这个

    $unixtime= 1277267278;
    echo 'unix time: ' . $unixtime . $br;
    
    $readabledate= date('Y-m-d H:i:s', $unixtime);
    echo 'readable date: ' . $readabledate . $br;
    
    $expirydate= date('Y-m-d H:i:s', strtotime($readabledate . " +6 months + 7 days"));
    echo 'expirydate: ' . $expirydate . $br;
    
    $epochtime= strtotime($expirydate);   //convert to unixtime
    
    echo 'epochtime: '. $epochtime . $br;
    
    $readexpirydate= date('Y-m-d H:i:s', $epochtime);  //convert it back to readable date
    
    echo 'readexpirydate: '. $readexpirydate . $br;  
    

    结果是: Unix时间:1277267278
    可读日期:2010-06-23 09:57:58
    有效期:2010-12-30 09:57:58
    时代:1293683278
    读取过期日期:2010-12-30 09:57:58

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多