php如何进行时间戳转换

寻技术 PHP编程 2023年10月15日 101

今天小编给大家分享一下php如何进行时间戳转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、将时间戳转换为时间字符串

将时间戳转换为时间字符串,可以采用date()函数。date()函数的第一个参数是格式化字符串,后面是时间戳。下面是一个例子:

    $timestamp = time(); //获取当前时间戳
    $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒”
    echo $timeStr; //输出“2021-11-11 11:11:11”

上面的代码中,“Y”表示年份,“m”表示月份,“d”表示日期,“H”表示小时,“i”表示分钟,“s”表示秒钟。

二、将时间字符串转换为时间戳

将时间字符串转换为时间戳,可以采用strtotime()函数。下面是一个例子:

    $timeStr = "2021-11-11 11:11:11";
    $timestamp = strtotime($timeStr); //将时间字符串转换为时间戳
    echo $timestamp; //输出“1636621871”

三、时区问题

在PHP中,时区有着非常重要的作用。如果你的服务器位于东八区,而你的客户位于西五区,那么客户获得的时间肯定会比你慢13个小时。

但是,PHP提供了相应的函数可以解决时区问题。我们可以使用date_default_timezone_set()函数来改变默认的时区。下面是一个例子:

    date_default_timezone_set('Asia/Shanghai'); //设置时区为东八区
    $timestamp = time(); //获取当前时间戳
    $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒”
    echo $timeStr; //输出“2021-11-11 11:11:11”

以上代码中,设置时区为“Asia/Shanghai”,也就是东八区。

四、时间戳转换工具类

如果你需要在项目中频繁地进行时间戳和时间字符串的转换,那么可以考虑封装一个时间戳转换工具类。下面是一个简单的时间戳转换工具类:

class TimestampConverter{
    /**
     * 时间戳转换为时间字符串
     * @param $timestamp 时间戳
     * @param string $format 格式化字符串
     * @return false|string
     */
    public static function timestampToStr($timestamp, $format = "Y-m-d H:i:s") {
        date_default_timezone_set('Asia/Shanghai');
        return date($format, $timestamp);
    }

    /**
     * 时间字符串转换为时间戳
     * @param $timeStr 时间字符串
     * @return false|int
     */
    public static function strToTimestamp($timeStr) {
        date_default_timezone_set('Asia/Shanghai');
        return strtotime($timeStr);
    }
}
关闭

用微信“扫一扫”