Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中将时间戳转换为时间戳?_Php - Fatal编程技术网

在php中将时间戳转换为时间戳?

在php中将时间戳转换为时间戳?,php,Php,我知道这个问题已经被问过好几次了,我发现了很多关于在php中将时间戳转换为时间戳的教程和博客文章 我尝试了无数的代码,但似乎没有任何东西对我有效 我要么得到一个没有错误的空白页面(我在php页面上重新发布了错误),要么在我的页面中得到一些奇怪的数字 所以我想这里有人能帮我解释一下 基本上我是这样保存日期的: $date = date('Y-m-d H:i:s'); 我只是把它保存在mysql数据库中 我也这样回应: echo $date; 现在我需要知道的是如何转换echo$date;每次

我知道这个问题已经被问过好几次了,我发现了很多关于在php中将时间戳转换为时间戳的教程和博客文章

我尝试了无数的代码,但似乎没有任何东西对我有效

我要么得到一个没有错误的空白页面(我在php页面上重新发布了错误),要么在我的页面中得到一些奇怪的数字

所以我想这里有人能帮我解释一下

基本上我是这样保存日期的:

$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