在php中将时间戳转换为时间戳?
我知道这个问题已经被问过好几次了,我发现了很多关于在php中将时间戳转换为时间戳的教程和博客文章 我尝试了无数的代码,但似乎没有任何东西对我有效 我要么得到一个没有错误的空白页面(我在php页面上重新发布了错误),要么在我的页面中得到一些奇怪的数字 所以我想这里有人能帮我解释一下 基本上我是这样保存日期的:在php中将时间戳转换为时间戳?,php,Php,我知道这个问题已经被问过好几次了,我发现了很多关于在php中将时间戳转换为时间戳的教程和博客文章 我尝试了无数的代码,但似乎没有任何东西对我有效 我要么得到一个没有错误的空白页面(我在php页面上重新发布了错误),要么在我的页面中得到一些奇怪的数字 所以我想这里有人能帮我解释一下 基本上我是这样保存日期的: $date = date('Y-m-d H:i:s'); 我只是把它保存在mysql数据库中 我也这样回应: echo $date; 现在我需要知道的是如何转换echo$date;每次
$date = date('Y-m-d H:i:s');
我只是把它保存在mysql数据库中
我也这样回应:
echo $date;
现在我需要知道的是如何转换echo$date;每次页面关闭和重新打开时,是否会更改为1分钟前、10分钟前、1小时前等
我确实尝试了很多功能,我在谷歌上发现,中午似乎做了任何事情
有人能就这个问题提出建议吗
谢谢
编辑:
我使用了答案中所述的代码,但我仍然得到$date echo,其存储方式与数据库中的存储方式完全相同,即以下格式:2014-10-06 22:54:54
$date = date('Y-m-d H:i:s');
$time1 = new DateTime($date);
$now = new DateTime();
$interval = $time1->diff($now);
if ($interval->y) $date = $interval->y . ' years';
elseif ($interval->m) $date = $interval->m . ' months';
elseif ($interval->d) $date = $interval->d . ' days';
elseif ($interval->h) $date = $interval->h . ' hours';
elseif ($interval->i) $date = $interval->i . ' minutes';
echo $date;
您应该使用
DateTime
类来获取2次之间的差异,即
$time1 = new DateTime('2014-10-06 09:00:59');
$now = new DateTime();
$interval = $time1->diff($now,true);
然后使用该差异(这是一个DateInterval
对象,$interval
)来找到这样的最小时间差异
if ($interval->y) echo $interval->y . ' years';
elseif ($interval->m) echo $interval->m . ' months';
elseif ($interval->d) echo $interval->d . ' days';
elseif ($interval->h) echo $interval->h . ' hours';
elseif ($interval->i) echo $interval->i . ' minutes';
else echo "less than 1 minute";
它应该在(编写时)13小时内发出回声
希望这有帮助。您应该使用
DateTime
类来获得两次之间的差异,即
$time1 = new DateTime('2014-10-06 09:00:59');
$now = new DateTime();
$interval = $time1->diff($now,true);
然后使用该差异(这是一个DateInterval
对象,$interval
)来找到这样的最小时间差异
if ($interval->y) echo $interval->y . ' years';
elseif ($interval->m) echo $interval->m . ' months';
elseif ($interval->d) echo $interval->d . ' days';
elseif ($interval->h) echo $interval->h . ' hours';
elseif ($interval->i) echo $interval->i . ' minutes';
else echo "less than 1 minute";
它应该在(编写时)13小时内发出回声
希望这有帮助。您应该使用
DateTime
类来获得两次之间的差异,即
$time1 = new DateTime('2014-10-06 09:00:59');
$now = new DateTime();
$interval = $time1->diff($now,true);
然后使用该差异(这是一个DateInterval
对象,$interval
)来找到这样的最小时间差异
if ($interval->y) echo $interval->y . ' years';
elseif ($interval->m) echo $interval->m . ' months';
elseif ($interval->d) echo $interval->d . ' days';
elseif ($interval->h) echo $interval->h . ' hours';
elseif ($interval->i) echo $interval->i . ' minutes';
else echo "less than 1 minute";
它应该在(编写时)13小时内发出回声
希望这有帮助。您应该使用
DateTime
类来获得两次之间的差异,即
$time1 = new DateTime('2014-10-06 09:00:59');
$now = new DateTime();
$interval = $time1->diff($now,true);
然后使用该差异(这是一个DateInterval
对象,$interval
)来找到这样的最小时间差异
if ($interval->y) echo $interval->y . ' years';
elseif ($interval->m) echo $interval->m . ' months';
elseif ($interval->d) echo $interval->d . ' days';
elseif ($interval->h) echo $interval->h . ' hours';
elseif ($interval->i) echo $interval->i . ' minutes';
else echo "less than 1 minute";
它应该在(编写时)13小时内发出回声
希望这有帮助。检查此函数intval()
下面的代码应该可以帮助您
$seconds_ago = (time() - strtotime('2014-01-06 15:25:08'));
if ($seconds_ago >= 31536000) {
echo "Seen " . intval($seconds_ago / 31536000) . " years ago";
} elseif ($seconds_ago >= 2419200) {
echo "Seen " . intval($seconds_ago / 2419200) . " months ago";
} elseif ($seconds_ago >= 86400) {
echo "Seen " . intval($seconds_ago / 86400) . " days ago";
} elseif ($seconds_ago >= 3600) {
echo "Seen " . intval($seconds_ago / 3600) . " hours ago";
} elseif ($seconds_ago >= 60) {
echo "Seen " . intval($seconds_ago / 60) . " minutes ago";
} else {
echo "Seen less than a minute ago";
}
检查此函数intval()
下面的代码应该可以帮助您
$seconds_ago = (time() - strtotime('2014-01-06 15:25:08'));
if ($seconds_ago >= 31536000) {
echo "Seen " . intval($seconds_ago / 31536000) . " years ago";
} elseif ($seconds_ago >= 2419200) {
echo "Seen " . intval($seconds_ago / 2419200) . " months ago";
} elseif ($seconds_ago >= 86400) {
echo "Seen " . intval($seconds_ago / 86400) . " days ago";
} elseif ($seconds_ago >= 3600) {
echo "Seen " . intval($seconds_ago / 3600) . " hours ago";
} elseif ($seconds_ago >= 60) {
echo "Seen " . intval($seconds_ago / 60) . " minutes ago";
} else {
echo "Seen less than a minute ago";
}
检查此函数intval()
下面的代码应该可以帮助您
$seconds_ago = (time() - strtotime('2014-01-06 15:25:08'));
if ($seconds_ago >= 31536000) {
echo "Seen " . intval($seconds_ago / 31536000) . " years ago";
} elseif ($seconds_ago >= 2419200) {
echo "Seen " . intval($seconds_ago / 2419200) . " months ago";
} elseif ($seconds_ago >= 86400) {
echo "Seen " . intval($seconds_ago / 86400) . " days ago";
} elseif ($seconds_ago >= 3600) {
echo "Seen " . intval($seconds_ago / 3600) . " hours ago";
} elseif ($seconds_ago >= 60) {
echo "Seen " . intval($seconds_ago / 60) . " minutes ago";
} else {
echo "Seen less than a minute ago";
}
检查此函数intval()
下面的代码应该可以帮助您
$seconds_ago = (time() - strtotime('2014-01-06 15:25:08'));
if ($seconds_ago >= 31536000) {
echo "Seen " . intval($seconds_ago / 31536000) . " years ago";
} elseif ($seconds_ago >= 2419200) {
echo "Seen " . intval($seconds_ago / 2419200) . " months ago";
} elseif ($seconds_ago >= 86400) {
echo "Seen " . intval($seconds_ago / 86400) . " days ago";
} elseif ($seconds_ago >= 3600) {
echo "Seen " . intval($seconds_ago / 3600) . " hours ago";
} elseif ($seconds_ago >= 60) {
echo "Seen " . intval($seconds_ago / 60) . " minutes ago";
} else {
echo "Seen less than a minute ago";
}
和+功能
diff
ofit@Cheery,不知道我在哪一页看到了什么,伙计!我想这里应该有一点深入的解释……仔细看。。例如,`$d1=new\DateTime(“2013-07-31 10:29:00”)$d2=新的日期时间(“2013-08-02 5:32:12”);echo$d1->diff$d2->d;`和+功能diff
ofit@Cheery,不知道我在哪一页看到了什么,伙计!我想这里应该有一点深入的解释……仔细看。。例如,`$d1=new\DateTime(“2013-07-31 10:29:00”)$d2=新的日期时间(“2013-08-02 5:32:12”);echo$d1->diff$d2->d;`和+功能diff
ofit@Cheery,不知道我在哪一页看到了什么,伙计!我想这里应该有一点深入的解释……仔细看。。例如,`$d1=new\DateTime(“2013-07-31 10:29:00”)$d2=新的日期时间(“2013-08-02 5:32:12”);echo$d1->diff$d2->d;`和+功能diff
ofit@Cheery,不知道我在哪一页看到了什么,伙计!我想这里应该有一点深入的解释……仔细看。。例如,`$d1=new\DateTime(“2013-07-31 10:29:00”)$d2=新的日期时间(“2013-08-02 5:32:12”);echo$d1->diff$d2->d`在你的第一个代码中,我得到了一个致命的错误:在我的页面上调用未定义的方法DateTime::diff()时出错。克拉姆,你使用的是什么版本的PHP?我怀疑5.2,diff
是在5中添加的。3@shell或者升级到5.3切换到PHP版本,它就像一个符咒一样工作:d使用您的第一个代码我得到致命错误:调用未定义的方法DateTime::diff()我的页面出错。克拉姆,你使用的是什么版本的PHP?我怀疑5.2,diff
是在5中添加的。3@shell或者升级到5.3切换到PHP版本,它就像一个符咒:D使用您的第一个代码,我得到致命错误:调用未定义的方法DateTime::diff()在我的页面上出错。克拉姆,您使用的是什么版本的PHP?我怀疑是5.2,diff
是在5中添加的。3@shell或者升级到5.3切换到PHP版本,它就像一个符咒:D使用您的第一个代码,我得到致命错误:调用未定义的方法DateTime::diff()在我的页面上出错。克拉姆,您使用的是什么版本的PHP?我怀疑是5.2,diff
是在5中添加的。3@shell或者升级到5.3切换PHP版本,它就像一个符咒:D