一、date()函数的基本语法和运作
date(format, timestamp)
该函数可以输出格式化的日期和时间。其中:format为必需,定义日期/时间的格式;timestamp为可选,如果没有提供,则使用当前时间。
日期/时间的格式字符串由不同的字符组成,表示不同的日期/时间值。例如,"Y"表示四位数的年份,"m"表示月份,"d"表示天数,"H"表示小时数(24小时制),"i"表示分钟数,"s"表示秒数,等等。
以下是一些常见的日期/时间格式字符串:
- "Y" - 四位数的年份,如2021
- "m" - 两位数的月份,如01~12
- "d" - 两位数的天数,如01~31
- "H" - 24小时制的小时数,如00~23
- "i" - 两位数的分钟数,如00~59
- "s" - 两位数的秒数,如00~59
例如,要格式化得到当前日期的字符串,可以使用如下的代码:
$dateStr = date("Y-m-d"); echo $dateStr; // 输出:2021-10-01
二、常见的日期/时间格式化字符串
1、输出各种格式的日期和时间
$dateStr = date("Y-m-d H:i:s"); echo $dateStr; // 输出:2021-10-01 20:00:00
2、输出中文日期
$dateStr = date("Y年m月d日"); echo $dateStr; // 输出:2021年10月01日
3、输出12小时制的时间
$dateStr = date("h:i:s A"); echo $dateStr; // 输出:08:00:00 PM
4、输出当年的第几天
$dateStr = date("z"); echo $dateStr; // 输出:273(表示当年的第273天)
5、输出星期几
$dateStr = date("l"); echo $dateStr; // 输出:Friday
三、date()函数与strtotime()函数的配合使用
strtotime()函数可以将人类易读的时间描述字符串转化为Unix时间戳,从而可以方便地与date()函数一起使用。
1、获取明天的日期
// strtotime()函数可以将字符串转化为Unix时间戳 $timestamp = strtotime("+1 day"); // date()函数可以将Unix时间戳转化为指定格式的字符串 $dateStr = date("Y-m-d", $timestamp); echo $dateStr; // 输出:2021-10-02
2、获取30天后的日期
$timestamp = strtotime("+30 days"); $dateStr = date("Y-m-d", $timestamp); echo $dateStr; // 输出:2021-10-31
3、获取下一个月的第一天和最后一天
// 获取下一个月的第一天 $firstDayTimestamp = strtotime("first day of next month"); $firstDayDateStr = date("Y-m-d", $firstDayTimestamp); // 获取下一个月的最后一天 $lastDayTimestamp = strtotime("last day of next month"); $lastDayDateStr = date("Y-m-d", $lastDayTimestamp); echo "下一个月的第一天是:".$firstDayDateStr."
"; echo "下一个月的最后一天是:".$lastDayDateStr;
四、date()函数的其他用法
1、在PHP中获取当前的Unix时间戳
$timestamp = time(); echo $timestamp;
2、在PHP中获取当前时间是星期几(数字表示)
$dayOfWeek = date("w"); echo $dayOfWeek;
3、在PHP中获取当前脚本的时区
$timezone = date_default_timezone_get(); echo $timezone;
4、在PHP中设置脚本的时区
date_default_timezone_set("Asia/Shanghai"); $timezone = date_default_timezone_get(); echo $timezone; // 输出:Asia/Shanghai
五、总结
PHP date()函数可以很方便地输出格式化的日期和时间,需要掌握的是日期/时间格式字符串。此外,可以通过与strtotime()函数的组合使用,方便地进行日期/时间的计算。