Code前端首页关于Code前端联系我们

PHP Current Timestamp

terry 2年前 (2023-09-30) 阅读数 49 #PHP
文章标签 PHP
PHP 是一种广泛使用的开源服务器端脚本语言,可以嵌入 HTML 中,并提供强大的数据操作功能,尤其擅长处理字符串和日期。其中,时间戳(timestamp)是最常用的日期处理方法之一,它表示特定日期和时间的绝对值。在 PHP 中,我们可以使用内置的 time() 函数来获取当前时间戳。

1。获取当前时间戳

我们可以使用 time() 函数来使用当前时间戳,该函数返回自 UNIX 时间(1970 年 1 月 1 日 00:00:00 GMT)以来的秒数。
$timestamp = time();
echo $timestamp;

运行上面的代码,输出结果为:

1629260446

由于时间戳表示自某个时间点以来的秒数,因此在不同时区,生成的时间戳会有所不同。

2。将时间戳转换为日期格式

我们可以使用内置的 date() 函数将时间戳转换为指定格式的日期。
$timestamp = time();
$date = date('Y-m-d H:i:s', $timestamp); 
echo $date;

运行上面的代码,输出结果为:

2021-08-18 11:27:26

date()函数的第一个参数是日期格式的字符串,第二个参数是要转换的时间戳。日期格式中,Y 代表年,m 代表月,d 代表日,H 代表小时,i 代表分钟,s 代表秒。

3。添加和减去时间戳

PHP 提供了一些方便的方法来添加和减去时间戳。 我们可以使用 strtotime() 函数将日期字符串转换为时间戳,然后进行加减操作。
$date_str = '2021-08-18 11:27:26';
$timestamp = strtotime($date_str);
$new_timestamp = $timestamp + 3600; // 往后推1个小时
$new_date = date('Y-m-d H:i:s', $new_timestamp); 
echo $new_date;

运行上面的代码,输出结果为:

2021-08-18 12:27:26

同时我们还可以输入负数来减去时间戳。

4。处理时区问题

在 PHP 中,默认时区是 UTC(协调世界时),但我们可以通过 date_default_timezone_set() 函数设置时区。
date_default_timezone_set('Asia/Shanghai');
$timestamp = time();
$date = date('Y-m-d H:i:s', $timestamp); 
echo $date;
运行上面的代码即可获取东八区的当前时间。 在实际应用中,我们需要根据不同的需求将时间戳转换为时区。这是 PHP 中的一个常见问题。

5。将时间戳转换为 MySQL DATE/DATETIME

在实际项目中,我们经常使用MySQL数据库来存储时间戳,在查询时需要将时间戳转换为日期格式。 下面是将时间戳插入 MySQL 的代码。
$mysqli = new mysqli('localhost', 'user', 'password', 'database');
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
$timestamp = time();
$query = "INSERT INTO table_name(time_column) VALUES (FROM_UNIXTIME($timestamp))";
$mysqli->query($query);
上面的代码中,“FROM_UNIXTIME()”函数用于将存储时间戳转换为MySQL日期时间类型。 如果我们需要将DATE/DATETIME类型的数据转换为时间戳,我们可以使用`UNIX_TIMESTAMP()`内置MySQL函数。
$mysqli = new mysqli('localhost', 'user', 'password', 'database');
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
$query = "SELECT UNIX_TIMESTAMP(time_column) AS timestamp FROM table_name";
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
$timestamp = $row['timestamp'];
echo $timestamp;
上面的代码通过`UNIX_TIMESTAMP()'函数将查询结果中的DATE/DATETIME类型数据转换为时间戳。

6。总结

本文从几个方面详细介绍了PHP时间戳的使用:获取当前时间戳、将时间戳转换为日期格式、加减时间戳、处理时区问题、将时间戳转换为MySQL DATE/DATETIME。这些技巧在我们的日常开发中非常有用,希望大家能够在实际项目中灵活运用。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门