跳转到主内容
极星编程网:以代码为星,赴技术山海!

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

php是一种广泛使用的开源服务器端脚本语言,它具有很多方便的函数和方法,可以轻松地进行各种计算和处理。其中,时间戳是一种很常用的时间表示方法,它是表示从1970年1月1日00:00:00到现在的秒数。在php中,我们可以很方便地将时间戳与具体时间之间进行转换。 一、将时间转化为时间戳 在PHP中,我们可以使用time()函数将当前时间转化为时间戳。该函数没有参数,直接调用即可。代码如下:
$timestamp = time(); echo $timestamp;
以上代码输出的结果为当前时间的时间戳。 我们也可以使用strtotime()函数将一个具体时间转化为时间戳。该函数接受一个时间字符串作为参数,返回该时间的时间戳。代码如下: 立即学习 “ PHP免费学习笔记(深入) ”;
$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()函数来将时间戳转化为具体时间,通过自定义函数来将时间戳转化为可读性更好的时间。在实际开发中,我们可以根据需要选择不同的方法来进行转化。

相关文章