2016-06-30 67 views
-1

我有日期/时间保存在我的sql表中作为列“registertime”。日期时间插入表

$stmt = $mysqli->prepare("SELECT username, firstname, lastname, registerdate FROM users WHERE level < 1"); 
$stmt->bind_param('ssss', $_GET['username'], $_GET['firstname'], $_GET['lastname'], $_GET['registerdate']); 
$stmt->execute(); 
$stmt->bind_result($username, $firstname, $lastname, $registerdate); 

我想用我的注册日期值从使用弄清楚有多少天前有人注册(日期( 'YMD H:I:S')

<?php 
$today = strtotime(date('Y-m-d H:i:s')); 
$dayspassed = strtotime($registerdate)); 
$daysinactive = $dayspassed - $today; 
?> 

我有日期用户登记存储在$ registerdate的话,我想找出自$ registerdate和当前日期多少天过去了,所以我可以回声出“此用户注册3天前”。

+2

你没有占位符。 –

+0

如何在数据库中存储日期?哪种格式? –

+0

日期/时间用在表 – nathzOO

回答

1

您可以使用DateTime类

<?php 
$bday = new DateTime('2016-05-016'); //y-m-d 
$today = new DateTime('2010-08-01 00:00:00'); // for testing purposes 

$diff = $today->diff($bday); 

printf('%d years, %d month, %d days', $diff->y, $diff->m, $diff->d); 
1
$datetime1 = date_create('2009-10-11'); 
$datetime2 = date_create('2009-10-13'); 
$interval = date_diff($datetime1, $datetime2); 
echo $interval->format('%R%a days'); 

输出:+ 2天

+0

是的,但日期已存储在$ registerdate – nathzOO

+0

然后使用 $ today = new DateTime(“now”); $ dayspassed = new DateTime($ registerdate); $ interval = date_diff($ today,$ dayspassed); –

+0

没有工作 - '$ today = new DateTime(“now”); ' '$ dayspassed = new DateTime($ registerdate); ' '$ interval = date_diff($ today,$ dayspassed);' 'echo $ interval;' – nathzOO