在 PHP 中,时间(或日期处理)是一个非常常见的需求。在这篇文章中,我们将介绍一些 PHP 常用的时间函数和其用法。
基础函数
time():获取当前时间的时间戳,也就是从 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)到当前时间的秒数。
date(format, timestamp):将时间戳转换为指定格式的时间字符串。其中,format 为必需参数,用于指定时间字符串的输出格式,timestamp 为可选参数,如果不传递该参数,则默认返回当前时间。
strtotime(time_string, timestamp):将一个包含日期和时间的字符串转换为时间戳。其中,time_string 为必需参数,用于指定日期和时间的字符串;timestamp 为可选参数,用于指定转换所基于的时间,如果不提供该参数,则默认使用当前时间。
语法说明
在 date() 和 strtotime() 函数中,常见的时间格式包括:
年份:
- Y:四位数的年份,例如:2018
- y:两位数的年份,例如:18
月份:
- F:完整的月份名称,例如:January
- M:三个字母缩写的月份名称,例如:Jan
- m:带前导零的两位数月份,例如:01
- n:不带前导零的单个或两个数字月份,例如:1
日期:
- d:带前导零的两位数日期,例如:02
- j:不带前导零的单个或两个数字日期,例如:2
- l:完整的星期几名称,例如:Sunday
- D:三个字母缩写的星期几名称,例如:Sun
- S:英文序数词表示的日期后缀,例如:st、nd、rd 或者 th
时间:
- g:12 小时制的小时(不含前导零),例如:1
- h:12 小时制的小时(含前导零),例如:01
- G:24 小时制的小时(不含前导零),例如:1
- H:24 小时制的小时(含前导零),例如:01
- i:带前导零的两位数分钟数,例如:03
- s:带前导零的两位数秒数,例如:09
- A:大写的上午和下午标识符(AM 或 PM)
- a:小写的上午和下午标识符(am 或 pm)
示例代码
下面的示例代码演示了如何使用这些函数来获取当前时间、格式化、比较、加减、本地化等等操作。
// 获取当前时间的时间戳
$now = time();
echo $now; // 1608127687
// 将时间戳格式化为标准时间字符串
echo date('Y-m-d H:i:s', $now); // 2020-12-16 09:41:27
// 将时间戳格式化为指定格式的时间字符串
echo date('Y年m月d日 H时i分s秒', $now); // 2020年12月16日 09时41分27秒
// 将时间字符串转换为时间戳
$timestamp = strtotime('2021-01-01');
echo $timestamp; // 1609459200
// 计算两个时间之间的差值(秒数)
$diff = strtotime('2021-12-31') - strtotime('2021-01-01');
echo $diff; // 31536000
// 将时间戳按指定格式加减
$new_timestamp = strtotime('+1 day', $now); // 添加一天
echo date('Y-m-d H:i:s', $new_timestamp); // 2020-12-17 09:41:27
// 本地化时间格式字符串
setlocale(LC_TIME, 'zh_CN.utf8');
echo strftime('%Y年%m月%d日 %H时%M分%S秒', $now); // 2020年12月16日 09时41分27秒
?>
注意事项
在 PHP 中,时间戳是基于 Unix 时间系统(UNIX Epoch)而来。Unix 时间系统是指从 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)到现在所经过的秒数。
另外,PHP 默认的时区设置为 UTC(协调世界时)。如果需要用本地时间进行操作,则需要使用 date_default_timezone_set() 函数将时区设置为本地时区。
除此之外,在实际应用中,使用时间函数的时候需要特别注意时间格式的统一性、时间区域的标准化等问题,以免因为时间处理不当而导致各种意想不到的错误。
壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。
我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!
发表评论 取消回复