了解PHP日期函数:格式化输入和输出日期时间。
PHP提供了一系列的日期和时间函数,用于格式化和操作日期和时间。这些函数可以帮助开发人员在应用程序中准确地处理和显示日期和时间信息。
1. date()函数:
date()函数用于格式化一个本地的日期和时间,并返回一个格式化后的字符串。它的语法如下:
date(format, timestamp)
其中,format参数是一个字符串,用于指定日期和时间的格式,timestamp参数是一个可选参数,用于指定一个时间戳。如果不指定时间戳,date()函数将返回当前的日期和时间。
以下是常用的日期格式选项:
- Y:四位数的年份(例如:2021)
- y:二位数的年份(例如:21)
- L:是否为闰年,如果是闰年则返回1,否则返回0
- m:两位数的月份(01至12)
- n:月份,没有前导零(1至12)
- d:两位数的月份中的天数(01至31)
- j:月份中的天数,没有前导零(1至31)
- H:两位数的小时数(24小时制,00至23)
- h:两位数的小时数(12小时制,01至12)
- i:两位数的分钟数(00至59)
- s:两位数的秒数(00至59)
- A:大写的上午或下午指示符(AM或PM)
例如,要获取当前日期和时间的格式化字符串,可以使用以下代码:
$currentDate = date('Y-m-d H:i:s');
echo $currentDate;
2. strtotime()函数:
strtotime()函数用于将英文文本描述的日期时间转换为UNIX时间戳。它的语法如下:
strtotime(time, now)
其中,time参数是一个字符串,用于指定日期和时间;now参数是一个可选参数,用于指定一个时间戳,表示当前的日期和时间。如果不指定now参数,strtotime()函数将使用当前的日期和时间。
以下是strtotime()函数可以接受的一些日期和时间格式:
- YYYY-MM-DD:以中划线分隔的年份、月份和日期
- YYYY/MM/DD:以斜杠分隔的年份、月份和日期
- MM-DD-YYYY:以中划线分隔的月份、日期和年份
- MM/DD/YYYY:以斜杠分隔的月份、日期和年份
- DD-MM-YYYY:以中划线分隔的日期、月份和年份
- DD/MM/YYYY:以斜杠分隔的日期、月份和年份
- YYYY-MM-DD HH:MM:SS:以中划线和冒号分隔的年份、月份、日期、小时、分钟和秒数
- YYYY/MM/DD HH:MM:SS:以斜杠和冒号分隔的年份、月份、日期、小时、分钟和秒数
- MM-DD-YYYY HH:MM:SS:以中划线和冒号分隔的月份、日期、年份、小时、分钟和秒数
- MM/DD/YYYY HH:MM:SS:以斜杠和冒号分隔的月份、日期、年份、小时、分钟和秒数
- DD-MM-YYYY HH:MM:SS:以中划线和冒号分隔的日期、月份、年份、小时、分钟和秒数
- DD/MM/YYYY HH:MM:SS:以斜杠和冒号分隔的日期、月份、年份、小时、分钟和秒数
例如,要将一个日期转换为时间戳,可以使用以下代码:
$timestamp = strtotime('2021-12-31');
echo $timestamp;
3. mktime()函数:
mktime()函数用于获取给定的日期的UNIX时间戳。它的语法如下:
mktime(hour, minute, second, month, day, year, is_dst)
其中,hour参数表示小时数,minute参数表示分钟数,second参数表示秒数,month参数表示月份,day参数表示日期,year参数表示年份,is_dst参数表示是否为夏令时。如果is_dst参数为-1,则mktime()函数会尝试根据环境设置决定是否为夏令时。
例如,要获取指定日期的时间戳,可以使用以下代码:
$timestamp = mktime(0, 0, 0, 12, 31, 2021); echo $timestamp;
需要注意的是,以上的日期函数可以与其他字符串处理函数结合使用,来实现更复杂的日期时间格式化和操作。
