本文共 1821 字,大约阅读时间需要 6 分钟。
在 PHP 中,获取时间的方法多样,以下是常用的两种:
date():这个函数用于根据指定格式格式化日期和时间。如果提供时间戳参数,其值会被用于计算。time():返回当前时间的 Unix 时间戳,没有参数时,默认获取当前时间。strtotime():将英文日期时间描述解析为 Unix 时间戳,接受时间字符串和可选的当前时间参数。date() 格式与示例date() 函数的格式化字符串包含多种字母代码,每个字母代表不同的时间元素。以下是常见格式代码及其含义:
a 或 A:表示 AM 或 PM。d:两位数字表示日期,不足两位前补零。D:用英文单词表示星期几(如:Fri)。F:用英文全名表示月份(如:January)。h 或 H:表示 12 小时或 24 小时制的小时。i:表示分钟。m 或 n:表示月份,两位数字,n 不补零。s:表示秒。Y:表示四位数的年份。y:表示两位数的年份。示例:
// 获取当前年月日echo date('Y-m-d');// 输出:2012-03-22// 获取年月日和小时分钟秒echo date('Y-m-d H:i:s');// 输出:2012-03-22 23:00:00// 获取带时区的日期echo date('Y-m-d H:i:s', time());// 输出:2012-03-22 23:00:00 strtotime() 功能解析strtotime() 函数能够解析英文日期时间字符串,返回对应的 Unix 时间戳。它的强大之处在于支持时间增减操作:
示例:
// 获取指定日期的时间戳echo strtotime('2012-03-22');// 输出:1332427715// 获取当前日期的时间戳echo strtotime(date('Y-d-m'));// 输出:1332427715// 获取未来或过去的日期echo date('Y-m-d H:i:s', strtotime('+1 day'));// 输出:2013-03-23 23:00:00// 获取上个星期四的时间echo date('Y-m-d H:i:s', strtotime('last Thursday'));// 输出:2012-03-15 00:00:00 PHP 提供 microtime() 函数,返回当前时间的微秒数。以下是获取毫秒数的方法:
function getMillisecond() { list($s1, $s2) = explode(' ', microtime()); return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);} 说明:
microtime() 返回的是数组,包含秒和微秒部分。在实际开发中,由于时区设置不一致,可能导致获取到的时间与实际时间相差 8 小时。以下是解决方法:
修改 PHP 配置文件:在 php.ini 中找到 date.timezone,将其设置为 Asia/Shanghai:
date.timezone = Asia/Shanghai
动态设置时区:在程序开始时调用 date_default_timezone_set() 函数:
date_default_timezone_set('Asia/Shanghai');注意:以上两种方法均可使用,个人可以根据需求选择。
获取当前时间戳:
echo time(); // 输出:1332427715
将日期字符串转换为时间戳:
echo strtotime('2012-03-22 23:30:33'); // 输出:1332427715日期格式化:
echo date('Y年m月d日', strtotime('2012-03-22'));// 输出:2012年3月22日时间戳转换为日期:
echo date('Y-m-d', 1332427715);// 输出:2012-03-22通过以上方法,可以方便地在 PHP 开发中进行时间和时间戳的操作。
转载地址:http://gztfk.baihongyu.com/