Php 如何将unixtimestamp转换为mysql日期格式

Php 如何将unixtimestamp转换为mysql日期格式,php,unix-timestamp,Php,Unix Timestamp,我正在写代码来减去两个日期。这是针对合同类型thingy的,用户可以看到合同完成的剩余天数。类似于start\u date\u time=“today”和end\u date\u time=y的内容,其中从数据库中检索y的值(日期时间类型)。它是mysql日期时间格式(yyyy-mm-dd-HH:mm:ss) 当Iecho$test[14]时,我得到存储在数据库中的日期和时间 (2012-09-26 00:00:00) 当我echo$today然后我以这种格式得到它1348381896。现在

我正在写代码来减去两个日期。这是针对合同类型thingy的,用户可以看到合同完成的剩余天数。类似于
start\u date\u time=“today”
end\u date\u time=y
的内容,其中从数据库中检索
y
的值(日期时间类型)。它是mysql日期时间格式(
yyyy-mm-dd-HH:mm:ss


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


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

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

将此用于MySQL datetime的时间戳:

$timestamp = '1348381896';
$date = date('Y-m-d H:i:s', $timestamp);
echo $date;
将此项用于MySQL datetime到时间戳:

$date = '2012-09-26 00:00:00';
$timestamp = strtotime($date);
echo $timestamp;
此外,如果您愿意在MySQL端减去日期,您可以使用and或函数:

您也可以在MySQL中使用时间戳,使用和函数…

您可以使用PHP的类来实现这一点:-

$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分钟

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

$diff
是的一个实例


可以在此处找到DateTime::createFromFormat()可接受的日期格式

PHP v5.6根据时间戳1540426286647->50784-03-01生成,但应为2018-10-25。使用日期时('Y-m-d',$lastmodifieddate\u ts);
$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";