首页 >后端开发 >PHP问题 >聊聊php时间戳和具体时间格式的相互转换

聊聊php时间戳和具体时间格式的相互转换

PHPz
PHPz原创
2023-03-29 16:26:08561浏览

PHP是一种广泛使用的开源服务器端脚本语言,它具有很多方便的函数和方法,可以轻松地进行各种计算和处理。其中,时间戳是一种很常用的时间表示方法,它是表示从1970年1月1日00:00:00到现在的秒数。在PHP中,我们可以很方便地将时间戳与具体时间之间进行转换。

一、将时间转化为时间戳

在PHP中,我们可以使用time()函数将当前时间转化为时间戳。该函数没有参数,直接调用即可。代码如下:

$timestamp = time();
echo $timestamp;

以上代码输出的结果为当前时间的时间戳。

我们也可以使用strtotime()函数将一个具体时间转化为时间戳。该函数接受一个时间字符串作为参数,返回该时间的时间戳。代码如下:

$time = "2021-06-10 12:30:00";
$timestamp = strtotime($time);
echo $timestamp;

以上代码输出的结果为2021-06-10 12:30:00的时间戳。

二、将时间戳转化为时间

在PHP中,我们可以使用date()函数将时间戳转化为具体时间。该函数有两个参数,第一个参数是时间格式,第二个参数是时间戳。代码如下:

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

以上代码输出的结果为当前时间的具体时间格式。

三、将时间戳转化为可读性更好的时间

在实际开发中,我们经常需要将时间戳转化为可读性更好的时间,例如“刚刚”、“1小时前”等。PHP中可以通过一些简单的计算和判断来实现这一功能。

首先,我们定义一个函数,接受一个时间戳作为参数,返回一个可读性更好的时间。代码如下:

function get_time_diff($timestamp){
    $current_time = time();
    $time_diff = $current_time - $timestamp;
    if($time_diff < 60){
        return "刚刚";
    }else if($time_diff < 3600){
        return floor($time_diff/60)."分钟前";
    }else if($time_diff < 86400){
        return floor($time_diff/3600)."小时前";
    }else{
        return date("Y-m-d H:i:s", $timestamp);
    }
}

以上代码中,我们先计算当前时间与给定时间戳的时间差,然后通过一些条件语句来判断返回何种结果。

接下来,我们调用该函数,传入一个时间戳参数来测试。代码如下:

$timestamp = time() - 3600;
echo get_time_diff($timestamp);

以上代码输出的结果为“1小时前”。

四、总结

以上即为PHP转化时间戳的方法,通过time()函数和strtotime()函数来将具体时间转化为时间戳,通过date()函数来将时间戳转化为具体时间,通过自定义函数来将时间戳转化为可读性更好的时间。在实际开发中,我们可以根据需要选择不同的方法来进行转化。

以上是聊聊php时间戳和具体时间格式的相互转换的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn