一、获取当前日期和时间
date(): 获取当前日期和时间 date()函数用于获取当前日期和时间,返回值为一个格式化的日期字符串。
示例:
代码语言:javascript复制echo date("Y-m-d H:i:s"); // 输出当前日期和时间,格式为:年-月-日 时:分:秒
time(): 获取当前时间戳 time()函数用于获取当前时间戳,即当前时间距离Unix纪元(1970年1月1日 00:00:00 UTC)的秒数。
示例:
代码语言:javascript复制echo time(); // 输出当前时间戳
二、格式化日期和时间字符串
strtotime(): 将日期字符串转换为时间戳 strtotime()函数用于将一个日期字符串转换为Unix时间戳。
示例:
代码语言:javascript复制echo strtotime("2023-04-26 10:30:00"); // 输出:1731213000
mktime(): 获取指定日期的时间戳 mktime()函数用于获取指定日期和时间的Unix时间戳。
示例:
代码语言:javascript复制echo mktime(0, 0, 0, 4, 26, 2023); // 输出指定日期的时间戳
date_create(): 创建一个日期对象 date_create()函数用于创建一个日期对象,可以用于操作日期和时间。
示例:
代码语言:javascript复制$date = date_create('2023-04-26');
echo date_format($date, 'Y-m-d'); // 输出:2023-04-26
date_format(): 格式化日期对象 date_format()函数用于格式化一个日期对象,返回一个格式化后的日期字符串。
示例:
代码语言:javascript复制$date = date_create('2023-04-26');
echo date_format($date, 'Y年m月d日'); // 输出:2023年04月26日
三、日期和时间的计算和比较
strtotime(): 计算两个日期之间的差值 strtotime()函数可以用于计算两个日期之间的差值。
示例:
代码语言:javascript复制$date1 = strtotime('2023-04-26');
$date2 = strtotime('2023-05-01');
echo ($date2 - $date1)/(60*60*24); // 输出:5
date_diff(): 计算两个日期之间的差值 date_diff()函数可以用于计算两个日期之间的差值,返回一个DateInterval对象。
示例:
代码语言:javascript复制$date1 = date_create('2023-04-26');
$date2 = date_create('2023-05-01');
$interval = date_diff($date1, $date2);
echo $interval->format('%R%a days'); // 输出: 5 days
strtotime(): 比较两个日期的大小 strtotime()函数可以用于比较两个日期的大小。
示例:
代码语言:javascript复制$date1 = strtotime('2023-04-26');
$date2 = strtotime('2023-05-01');
if ($date1 < $date2) {
echo '2023-04-26 在 2023-05-01 之前';
} else {
echo '2023-04-26 在 2023-05-01 之后';
}
四、其他常用日期和时间函数
timezones_identifiers_list(): 获取时区列表 timezones_identifiers_list()函数用于获取PHP支持的所有时区列表。
示例:
代码语言:javascript复制print_r(timezone_identifiers_list());
date_default_timezone_set(): 设置默认时区 date_default_timezone_set()函数用于设置PHP脚本使用的默认时区。
示例:
代码语言:javascript复制date_default_timezone_set('Asia/Shanghai');
date_sunrise()和date_sunset(): 获取日出和日落时间 date_sunrise()和date_sunset()函数用于获取指定日期和位置的日出和日落时间。
示例:
代码语言:javascript复制echo date_sunrise(strtotime('2023-04-26'), SUNFUNCS_RET_STRING, 31.23, 121.47, 90, 8); // 输出:05:12
echo date_sunset(strtotime('2023-04-26'), SUNFUNCS_RET_STRING, 31.23, 121.47, 90, 8); // 输出:18:10