如何使用php中的strftime函数将日期格式化为本地时间?
PHP中的strftime函数是用于将日期和时间格式化为本地时间的函数。本地时间是指该计算机所设置的时区的时间。 strftime函数允许用户按照自己要求的方式将日期和时间转换为本地格式并输出。
函数语法
strftime(string $format [, int $timestamp = time()])
strftime函数有两个参数, 个参数是必需的,控制转换后的格式,第二个参数是可选的,用于表示时间戳。如果第二个参数被省略,则默认为当前系统时间。
格式说明符
strftime格式说明符是用于控制日期和时间转换的字符串。strftime函数支持的格式说明符通常是与UNIX命令date使用的相同的,下面我们来详细了解一下。
%a: 本地简写星期几名称。
%A: 本地完整星期几名称。
%b: 本地简写月份名称。
%B: 本地完整月份名称。
%y: 两位数表示的年份。
%Y: 四位数表示的年份。
%c: 本地日期和时间表示。
%C: 世纪数(指按100年分的年代数)。
%d: 日(01-31)。
%D: %m/%d/%y日期格式。
%e: 日(1-31)。
%F: %Y-%m-%d日期格式。
%h: 与%b相同。
%H: 时 (00-23)。
%I: 12小时时间制,(01-12)。
%j: 当年的第几天 (001-366)。
%m: 月份(01-12)。
%M: 分钟(00-59)。
%n: 换行符。
%p: 本地AM或PM的等效符。
%r: %I:%M:%S %p格式的时间。
%R: %H:%M格式的时间。
%S: 秒(00-61)。
%t: 制表符。
%T: %H:%M:%S格式的时间。
%u: 本周第几天(1-7),其中1是星期一。
%U: 当年的第几个星期,星期日为一周的 天。
%V: %U 在当年的周数(01-53);当年度的 个星期四才算是 周的开始。
%W: %U 在当年的星期数(00-53),星期一为一周的 天。
%w: 星期(0-6),其中0是星期日。
%x: 本地表示日期部分的字符串。
%X: 本地表示时间部分的字符串。
%Z: 时区偏移量,例如:-06:00。
%z: ISO 8601格式的日期和时间。
使用示例
下面是一个使用strftime函数的示例代码,将输出当前时间的日期和时间以本地格式:
<?php
setlocale(LC_TIME, 'cn');
echo strftime('%A %x %X');
?>
输出结果为:
星期一 2022年05月23日 23:56:22
在上面的代码中,我们首先使用setlocale函数将本地化信息设置为中国('cn'),使strftime函数使用中文本地化信息。然后,我们使用strftime函数将当前时间格式化为'A %x %X'的字符串,其中% A表示本地完整星期几名称,% x表示本地日期表示,% X表示本地时间表示。
如果我们要将指定时间戳格式化为本地时间格式,则可以将第二个参数传递给strftime函数,代码如下:
<?php
setlocale(LC_TIME, 'cn');
$timestamp = mktime(0, 0, 0, 7, 4, 2022);
echo strftime('%A %x %X', $timestamp);
?>
在上面的代码中,我们使用mktime函数创建一个时间戳,该时间戳表示2022年7月4日的午夜,然后使用strftime函数将该时间戳格式化为本地时间。
总结
本篇文章介绍了如何使用PHP中的strftime函数将日期格式化为本地时间。我们首先了解了strftime函数的语法和格式说明符,然后通过使用实际示例演示了如何使用strftime函数将当前时间和指定时间戳格式化为本地时间格式。最后,我们能够灵活运用strftime函数并按照自己的需求来进行日期时间格式化。
