php如何用date()转换时间戳

寻技术 PHP编程 2024年05月17日 102

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

时间戳

时间戳是指一种表示时间的方式,即从某个固定的时间点(通常是 1970 年 1 月 1 日 00:00:00 UTC)开始计算到现在所经过的秒数。在 PHP 中,通过调用 time() 函数,可以获取当前时间的时间戳,如下所示:

$timestamp = time();

date() 函数

date() 是用来格式化日期的 PHP 函数,可以将日期时间以指定的格式输出。其语法为:

date($format, $timestamp)

其中,$format 为日期输出格式,$timestamp 是可选参数,代表需要被格式化的时间戳,如果不传入时间戳,则默认使用当前时间戳。以下是一些常用的格式参数:

参数 描述
Y 四位数表示的年份
m 以数字表示的月份(有前导零)
d 月份中的第几天(有前导零)
H 小时(24 小时格式,有前导零)
i 分钟数(有前导零)
s 秒钟数(有前导零)
w 星期中的第几天(0 代表星期天,1 代表星期一,以此类推)
a 上午或下午(小写)
A 上午或下午(大写)

例如,要将时间戳 1609459584 格式化为形如 “2021-01-01 12:12:12” 的字符串,可以使用以下代码:

echo date('Y-m-d H:i:s', 1609459584);

输出结果为:

2021-01-01 12:12:12

时间戳转日期

如果我们已经有了一个时间戳,可以使用 date() 函数将其转换为指定格式的日期字符串,如下所示:

$timestamp = 1609459584;
$datetime = date('Y-m-d H:i:s', $timestamp);
echo $datetime;

日期转时间戳

如果我们有一个日期字符串,需要将其转换为时间戳,可以使用 strtotime() 函数。该函数可以将字符串时间转换为 UNIX 时间戳。

$datetime = '2021-01-01 12:12:12';
$timestamp = strtotime($datetime);
echo $timestamp;

输出结果为:

1609459584

需要注意的是,strtotime() 函数的输入时间必须是英文日期格式,例如上面的例子中的给出的时间是 "2021-01-01 12:12:12",如果时间格式不正确,函数将返回 false。

本地化时间

上面介绍的 date() 和 strtotime() 默认使用的是服务器本地的时间。但是有时候需要在处理时间时,使用指定的时区,可以用 date_default_timezone_set() 函数来设置时区。

date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');

时间格式参数不变,输出的日期时间会自动转为东八区时间:

2022-03-15 15:33:57
关闭

用微信“扫一扫”