PHP中time(),date(),mktime()区别介绍


Posted in PHP onSeptember 28, 2013

checkdate : 验证日期的正确性。
date : 将服务器的时间格式化。
strftime : 将服务器的时间本地格式化。
getdate : 获得时间及日期信息。
gettimeofday : 取得目前时间。
gmdate : 取得目前与 GMT 差后的时间。
easter_date : 计算复活节日期。
easter_days : 计算复活节与三月廿一日之间日期数。
mktime : 取得 UNIX 时间戳记。
gmmktime : 取得 UNIX 时间戳记的格林威治时间。
time : 取得目前时间的 UNIX 时间戳记。
microtime : 取得目前时间的 UNIX 时间戳记的百万分之一秒值。

checkdate 验证日期的正确性。

语法: int checkdate(int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明 若日期是有效的则返回 true,若日期有问题,则返回 false。本函数可以用来检查日期是否有效。有效范围如下:
年 为 0 至 32767 年
月 为 1 至 12 月
日 则随着月份及闰年变化

date 将服务器的时间格式化。

语法: string date(string format, int [timestamp]);
返回值: 字符串
函数种类: 时间日期
内容说明返回值的?字符串依配置的格式来决定。若有传入时间戳记值,则将时间戳记格式化返回;若无传入时间戳记值,则将目前服务器的时间格式化返回。要将日期转为其它的语系格式,应使用setlocale() 及 strftime() 二个函数。字符串格式化的选项如下:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
其它不在上列的字符则直接列出该字符。

使用范例,

范例一:

<?
print(date( "l dS of F Y h:i:s A" ));
print("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000)));
?>

范例二:

<?
$tomorrow = mktime(0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime(0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime(0,0,0,date("m"), date("d", date("Y")+1);
?>

参考 gmdate() mktime()
strftime 将服务器的时间本地格式化。
语法: string strftime(string format, int [timestamp]);
返回值: 字符串
函数种类: 时间日期
内容说明返回值的字符串依配置的格式来决定。若有传入时间戳记值,则将时间戳记格式化返回;若无传入时间戳记值,则将目前服务器的时间本地格式化返回。月份或者星期名称随着本地语系配置 setlocale() 的不同而改变。
返回的字符串可以依下列的格式而定:
%a 星期几的缩写。
%A 星期几的全名。
%b 月份名称的缩写。
%B 月份名称的全名。
%c 本地端日期时间较佳表示字符串。
%d 用数字表示本月的第几天 (范围为 00 至 31)。
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。
%j 以数字表示当年度的第几天 (范围为 001 至 366)。
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。
%p 以 'AM' 或 'PM' 表示本地端时间。
%S 秒数。
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。
%w 用数字表示本周的第几天 ( 0 为周日)。
%x 不含时间的日期表示法。
%X 不含日期的时间表示法。
%y 二位数字表示年份 (范围由 00 至 99)。
%Y 完整的年份数字表示,即四位数。
%Z 时区或名称缩写。
%% % 字符。

使用范例

<?php
setlocale ("LC_TIME", "C");
print(strftime("%A in Finnish is "));
setlocale ("LC_TIME", "fi");
print(strftime("%A, in French "));
setlocale ("LC_TIME", "fr");
print(strftime("%A and in German "));
setlocale ("LC_TIME", "de");
print(strftime("%A.n"));
?>

参考 setlocale() mktime()
getdate 获得时间及日期信息。
语法: array getdate(int timestamp);
返回值: 数组
函数种类: 时间日期
内容说明 返回数组的元素包括下列的项目:
"seconds" - 秒
"minutes" - 分
"hours" - 时
"mday" - 当月的第几天
"wday" - 当周的第几天数字
"mon" - 月份数字
"year" - 年,数字
"yday" - 当年的第几天数字; 如: "299"
"weekday" - 星期几全名; 如: "Friday"
"month" - 月份全名; 如: "January"
gettimeofday 取得目前时间。
语法: array gettimeofday(void);
返回值: 数组
函数种类: 时间日期
内容说明 返回数组的元素包括下列的项目:
"sec" - 秒
"usec" - 百万分之一秒
"minuteswest" - 格林威治时间的分
"dsttime" - 目的的时区
gmdate 取得目前与 GMT 差后的时间。
语法: string gmdate(string format, int timestamp);
返回值: 字符串
函数种类: 时间日期
内容说明 本函数与 date() 函数相似,不同的是本函数返回与格林威治标准时间 (Greenwich Mean Time, GMT) 时间差后的时间

使用范例

<?php
echo date( "M d Y H:i:s",mktime(0,0,0,1,1,1998) );
echo gmdate( "M d Y H:i:s",mktime(0,0,0,1,1,1998) );
?>

若执行本范例的机器在芬兰 (Finland, GMT +0200),返回的结果为:
Jan 01 1998 00:00:00
Dec 31 1997 22:00:00
参考 date() mktime() gmmktime()
easter_date 计算复活节日期。
语法: int easter_date(int [year]);
返回值: 整数
函数种类: 时间日期
内容说明: 输入某一年份,则以 UNIX 时间戳记的格式返回该年的复活节日期,若没有输入年份,则计算当年的日期。值的?注意的是输入的年份必需在公元 1970 至 2037 年之间,否则无法计算。
使用范例

<?
echo date("M-d-Y", easter_date(1999));
echo date("M-d-Y", easter_date(2000));
echo date("M-d-Y", easter_date(2001));
?>

返回结果为

Apr-04-1999
Apr-23-2000
Apr-15-2001
easter_days 计算复活节与三月廿一日之间日期数。

语法: int easter_days(int [year]);
返回值: 整数
函数种类: 时间日期
内容说明 输入某一年份,则以计算该年复活节与三月二十一日之间的日期数,若没有输入年份,则以当年计算。这个函数可以用来替代 easter_date() 1970-2037 年外范围无法计算的问题。
使用范例

<?
echo easter_days(1999);
echo easter_days(1492);
echo easter_days(1913);
?>

返回结果为:
14 (4/4)
32 (4/22)
2 (3/23)
参考 easter_date()
mktime 取得 UNIX 时间戳记。
语法: int mktime(int hour, int minute, int second, int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明: 输入一个时间,则返回 UNIX 时间戳记的长整数。
使用范例

<?
echo date( "M-d-Y", mktime(0,0,0,12,32,1997) );
echo date( "M-d-Y", mktime(0,0,0,13,1,1997) );
echo date( "M-d-Y", mktime(0,0,0,1,1,1998) );
?>

参考 date() time()

gmmktime 取得 UNIX 时间戳记的格林威治时间。

语法: int gmmktime(int hour, int minute, int second, int month, int day, int year);

返回值: 整数

函数种类: 时间日期
内容说明: 输入一个时间,则返回 UNIX 的格林威治时间戳记的长整数。
time 取得目前时间的 UNIX 时间戳记。
语法: int time(void);
返回值: 整数
函数种类: 时间日期
内容说明 返回目前时间的戳记值。

参考 date()

microtime 取得目前时间的 UNIX 时间戳记的百万分之一秒值。
语法: string microtime(void);
返回值: 字符串
函数种类: 时间日期
内容说明 返回目前时间的百万分之一秒戳记值。若操作系统没有提供 gettimeofday() 的系统呼叫函数,则本函数亦无效。

PHP 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
php自动加载机制的深入分析
Jun 08 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
CodeIgniter多语言实现方法详解
Jan 20 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
PHP导出带样式的Excel示例代码
Aug 28 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
php中简单的对称加密算法实现
Jan 05 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php中time()和mktime()方法的区别
Sep 28 #PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 #PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 #PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 #PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 #PHP
php中通过curl检测页面是否被百度收录
Sep 27 #PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 #PHP
You might like
php仿QQ验证码的实例分析
2013/07/01 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python算法学习之计数排序实例
2013/12/18 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
Python中random模块生成随机数详解
2016/03/10 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
社区工作感言
2014/02/21 职场文书
医德考评自我评价
2014/09/14 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
借款民事起诉状范文
2015/05/19 职场文书
Java无向树分析 实现最小高度树
2022/04/09 Javascript
详解SQL报错盲注
2022/07/23 SQL Server