PHP时间函数大全:日期、时间格式化详解
PHP中有很多时间函数,可以方便我们对日期、时间进行格式化、转换和计算。本文将为大家介绍PHP中常用的时间函数,包括日期、时间格式化函数、日期计算函数和时间戳函数。
1.日期、时间格式化函数
1.1 date()函数
date()函数用于将时间戳格式化为可读的日期和时间。
语法:string date ( string $format [, int $timestamp = time() ] )
参数:
format:要转换为日期和时间的格式字符串。该参数必选。
timestamp:可选参数,表示要格式化的时间戳。如果不传递该参数,则默认使用当前时间。该参数的格式必须是一个整数。
1.2 strtotime()函数
strtotime()函数用于将日期字符串解析为Unix时间戳。
语法:int strtotime ( string $time [, int $now = time() ] )
参数:
time:需要转换为时间戳的时间。该参数必选。
now:可选参数,用来设定时间戳的基准时间,默认值为当前时间。该参数的格式必须是一个整数。
示例:
$time = '2021-03-10 10:15:30';
$timestamp = strtotime($time);
echo $timestamp; // 输出:1615365330
1.3 strftime()和gmstrftime()函数
strftime()函数用于将时间戳格式化为本地时间,并可以根据本地环境的不同格式化为不同的格式。而gmstrftime()函数是将时间戳格式化为GMT时间。
语法:string strftime ( string $format [, int $timestamp = time() ] )
参数:
format:要转换为日期和时间的格式字符串。该参数必选。
timestamp:可选参数,表示要格式化的时间戳。如果不传递该参数,则默认使用当前时间。该参数的格式必须是一个整数。
2.日期计算函数
2.1 mktime()函数
mktime()函数用于根据给定的日期和时间创建一个Unix时间戳。
语法:int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
参数:
hour:小时数,为0~23之间的整数。
minute:分钟数,为0~59之间的整数。
second:秒数,为0~59之间的整数。
month:月份,为1~12之间的整数。
day:日期,为1~31之间的整数。
year:年份,为1970年后的整数。
is_dst:可选参数,夏令时。-1表示自动判断,0表示不使用夏令时,1表示使用夏令时。
示例:
$timestamp = mktime(10, 15, 30, 3, 10, 2021);
echo $timestamp; // 输出:1615365330
2.2 strtotime()函数
strtotime()函数前面已经介绍过,在这里不再赘述。
2.3 date_add()和date_sub()函数
date_add()和date_sub()函数用于日期的加减操作。
语法:
DateTimeInterface date_add ( DateTimeInterface $object , DateInterval $interval )
DateTimeInterface date_sub ( DateTimeInterface $object , DateInterval $interval )
参数:
object:DateTimeInterface对象。
interval:DateInterval对象,表示时间间隔。
示例:
$date = new DateTime('2021-03-10');
$date->add(new DateInterval('P1D')); // 加一天
echo $date->format('Y-m-d'); // 输出:2021-03-11
$date = new DateTime('2021-03-10');
$date->sub(new DateInterval('P2D')); // 减两天
echo $date->format('Y-m-d'); // 输出:2021-03-08
3.时间戳函数
3.1 time()函数
time()函数用于获取当前时间的Unix时间戳。
语法:int time ( void )
示例:
$timestamp = time();
echo $timestamp; // 输出:1615365330
3.2 microtime()函数
microtime()函数用于获取当前时间的微秒数。
语法:float microtime ([ bool $get_as_float = FALSE ] )
参数:
get_as_float:可选参数,指定是否返回浮点数。默认值为FALSE。
示例:
$time = microtime(true);
echo $time; // 输出:1615365330.123
3.3 gettimeofday()函数
gettimeofday()函数用于获取当前时间的微秒数和Unix时间戳。
语法:mixed gettimeofday ([ bool $return_float = FALSE ] )
参数:
return_float:可选参数,指定是否返回浮点数。默认值为FALSE。
返回值:如果return_float参数为TRUE,返回值为浮点数。否则返回值为数组,包含sec和usec两个键名。
示例:
$time = gettimeofday();
print_r($time);
// 输出:
// Array
// (
// [sec] => 1615365330
// [usec] => 123456
// )
总结
以上就是PHP中常用的时间函数,包括日期、时间格式化函数、日期计算函数和时间戳函数。使用这些函数可以方便地对日期和时间进行各种操作。
