欢迎访问宙启技术站
智能推送

PHP函数:精准时间戳的获取和转换

发布时间:2023-06-17 03:01:27

在PHP中,时间戳是一串数字表示从1970年1月1日0时0分0秒到现在的秒数。时间戳非常常用,尤其在开发动态网站和数据库操作时,经常需要将时间戳转换成时间格式或将时间格式转换成时间戳,以下介绍一些PHP中时间戳的获取和转换函数。

1. 获取当前时间戳

使用PHP的time()函数可以获取当前的时间戳,其语法如下:

int time (void)

例如:

$timestamp = time();

2. 将时间戳转换成时间格式

PHP的date()函数可以将时间戳转换成指定的时间格式,其语法如下:

string date (string $format [, int $timestamp = time() ])

其中,$format表示时间格式,如"Y年m月d日 H:i:s",$timestamp表示时间戳,如果不传入则默认使用当前时间戳。例如:

$timestamp = 1613600783;
$date = date('Y-m-d H:i:s', $timestamp);
echo $date; //输出:2021-02-17 10:53:03

3. 将时间格式转换成时间戳

PHP的strtotime()函数可以将时间格式转换成时间戳,其语法如下:

int strtotime (string $time [, int $now = time() ])

其中,$time表示时间格式,如"2021-02-17 10:53:03",$now表示基准时间,如果不传入则默认使用当前时间戳。例如:

$date = '2021-02-17 10:53:03';
$timestamp = strtotime($date);
echo $timestamp; //输出:1613600783

需要注意的是,strtotime()函数对时间格式的解析有一定的限制,比如无法解析中文和日文等语言的时间格式。

4. 获取当前日期和时间

PHP的date()函数也可以用来获取当前的日期和时间,其语法如下:

string date (string $format [, int $timestamp = time() ])

其中,$format表示时间格式,可以使用"Y"、"m"、"d"、"H"、"i"、"s"等占位符,代表年、月、日、时、分、秒等。例如:

$date = date('Y-m-d H:i:s');
echo $date; //输出:2021-02-17 10:53:03

5. 将时间字符串加上指定时间段

PHP的strtotime()函数还支持将时间字符串加上指定时间段,其语法如下:

int strtotime (string $time [, int $now = time() ])

其中,$time表示时间字符串,可以使用"now"表示当前时间,也可以使用"-"或"+"表示时间偏移量,例如"-1 hour"表示减去1小时,"+1 day"表示加上1天。例如:

$date = '2021-02-17 10:53:03';
$newdate = date('Y-m-d H:i:s', strtotime($date . ' +1 hour'));
echo $newdate; //输出:2021-02-17 11:53:03

需要注意的是,strtotime()函数返回的是时间戳,需要再使用date()函数将其格式化成指定的时间字符串。

总结

以上就是PHP中时间戳的获取和转换函数,掌握这些函数不仅可以方便地将时间戳转换成时间字符串,还可以进行时间偏移和日期时间运算等操作,为开发动态网站和应用提供更加灵活的时间支持。