【问题标题】:how to convert unixtimestamp to mysql date format如何将unix时间戳转换为mysql日期格式
【发布时间】:2012-09-23 06:51:26
【问题描述】:

我正在编写代码来减去两个日期。它适用于合同类型的东西,用户可以在其中查看合同完成的剩余天数。类似于start_date_time="today"end_date_time=y 的东西,其中y 的值是从数据库中检索的(DATETIME 类型)。它采用 mysql 日期时间格式 (yyyy-mm-dd HH:mm:ss)。

<?php
include_once '../include/connections.php';
$id =$_REQUEST['uid'];
$result= mysql_query("SELECT * FROM data WHERE uid  = '$id'");
$test = mysql_fetch_array($result);
echo $test[14];
echo "<br /><br />";
$today=time();
$enddate=strtotime('$test[14]');
$timediff = $enddate - $today;
$days=intval($timediff/86400);
$remaining=$timediff%86400;
$hours=intval($remaining/3600);
$remaining=$remaining%3600;
$mins=intval($remaining/60);
$secs=$remaining%60;
echo "<br>".$days.' days '.$hours.' hours '.$mins.' minutes and '.$secs.' seconds.';
?>

当我echo $test[14]; 时,我得到存储在数据库中的日期和时间 (2012-09-26 00:00:00)

当我 echo $today; 时,我会以这种格式 1348381896 得到它。现在,我如何将此格式转换为从数据库中检索到的格式,以便我可以减去 2 个日期并获得剩余的天数和时间?

【问题讨论】:

  • PHP v5.6 从时间戳 1540426286647 -> 50784-03-01 生成,但应该是 2018-10-25。使用时 date('Y-m-d', $lastmodifieddate_ts);

标签: php unix-timestamp


【解决方案1】:

您可以使用这两个函数来相互转换日期,

将其用作 MySQL 日期时间的时间戳:

$timestamp = '1348381896';
$date = date('Y-m-d H:i:s', $timestamp);
echo $date;

将这个用于 MySQL 日期时间的时间戳:

$date = '2012-09-26 00:00:00';
$timestamp = strtotime($date);
echo $timestamp;

另外,如果您愿意在 MySQL 端减去您的日期,您可以使用 DATEDIFF 和或 TIMEDIFF 函数:

您也可以在 MySQL 中使用时间戳,使用 TIMESTAMPDIFFUNIX_TIMESTAMP 函数...

【讨论】:

    【解决方案2】:

    您可以为此使用 PHP 的 DateTime 类:-

    $today = new DateTime();
    
    $mysqlDate = "2012-12-15 13:40:20"; //for example
    // To match your code this would be $mysqlDate = $test[14];
    $mysqlFormat = 'Y-m-d H:i:s';
    
    $endDate = DateTime::createFromFormat($mysqlFormat, $mysqlDate);
    $diff = $today->diff($endDate);
    echo "You have {$diff->d} days, {$diff->h} hours and {$diff->m} minutes left";
    

    这将给出以下输出:-

    你还有 22 天 6 小时 5 分钟的时间

    (这将根据您运行代码的时间而改变)。

    $diffDateInterval 的一个实例。

    可以在此处找到 DateTime::createFromFormat() 可接受的日期格式http://www.php.net/manual/en/function.date.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2011-03-05
      • 2014-05-04
      相关资源
      最近更新 更多