php,常用的时间函数

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内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(95) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部