日期时间函数
date --- 格式化一个本地时间/日期
string date ( string $format [, int $timestamp ] ) // 没有时间戳则使用本地当前时间
标识 | 描述 | 示例 | |
---|---|---|---|
天 | d | 月的第几天,2 位数字 | 从 01 到 31 |
D | 星期几,3 个字符 | 从 Mon 到 Sun | |
j | 月的第几天,无前导 0 | 从 1 到 31 | |
l | 星期几,英文全称 小写L | 从 Sunday 到 Saturday | |
S | 月的第几天,2 位英语序数词 | st,nd,rd 或者th,应与j 联合使用 | |
z | 年的第几天,从 0 开始计数 | 从 0 到 365 | |
月 | F | 月份英文全拼 | 从 January 到 December |
m | 数字表示的月份,2位 | 从 01 到 12 | |
M | 月份的英文简拼 | 从 Jan 到 Dec | |
n | 数字表示的月份,无前导 0 | 1 到 12 | |
t | 给定月份中包含多少天 | 从 28 到 31 | |
年 | Y | 4 位数字的年份 | 示例:1999 或 2003 |
y | 2 位数字的年份 | 示例: 99 或 03 | |
时 | a | 上午还是下午,2 位小写字符 | am 或 pm |
A | 上午还是下午,2 位大写字符 | AM 或 PM | |
g | 12时制小时,无前导 0 | 从 1 到 12 | |
G | 24时制小时,无前导 0 | 从 0 到 23 | |
h | 12时制小时,有前导 0 | 从 01 到 12 | |
H | 24时制小时,有前导 0 | 00 到 23 | |
i | 分钟,有前导 0 | 从 00 到 59 | |
s | 秒,有前导 0 | 从 00 到 59 | |
区 | O | 和格林威治时间(GMT)的时差 | 示例:+0200 |
T | 时区缩写 | 示例:EST, MDT ... | |
r | » RFC 2822 格式的日期和时间 | 示例:Thu, 21 Dec 2000 16:01:07 +0200 | |
U | 自 1970/01/01 0:0:0 GMT 以来的秒数 | 参见 time() |
echo date('jS F Y'); // 输出类似:15th August 2005
time() --- 返回当前的 Unix 时间戳
Unix 时间戳,即从 Unix 纪元(January 1 1970 00:00:00 GMT)到特定时刻的秒数
mktime() --- 根据给出的参数返回 Unix 时间戳
getdate() --- 取得日期/时间信息,返回数组
checkdate() --- 验证日期的有效性
date_default_timezone_set('Asia/Shanghai'); --- 设定用于一个脚本中所有日期时间函数的默认时区
date_default_timezone_get --- 取得一个脚本中所有日期时间函数所使用的默认时区
strftime --- 根据区域设置格式化时间/日期
strtotime() --- 将任何英文文本的日期时间描述解析为 Unix 时间戳
时间日期的对象实现
DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Returns the difference between two DateTime objects
面向对象风格 $datetime1 = new DateTime('2009-10-11'); $datetime2 = new DateTime('2009-10-13'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days'); 过程化风格 $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days');
在MySQL中计算日期
其他有用的特性
eval() --- 把字符串作为PHP代码执行
exit() / die() --- 输出一个消息并且退出当前脚本
序列化变量和对象 serialize() unserialize()
获取PHP环境对象
24.4.1 找到所加载的PHP扩展部件
get_loaded_extensions() --- 返回所有编译并加载模块名的 array
get_extension_funcs() --- 返回模块函数名称的数组
24.4.2 识别脚本所有者 get_current_user()
24.4.3 确定脚本最近修改时间 getlastmod()
暂时改变运行时环境
如果我们知道脚本需要运行一段时间,可以通过设置max_execution_time() 指令来限制脚本的最长运行时间。使用 ini_get() 和 ini_set() 函数可以访问和修改指令。
源代码加亮
和许多IDE一样,PHP内置一个默认的语法加亮器。这项功能在与别人共享代码或在web页面上讨论并展示代码时非常有用。