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