当前位置: 维客笔记>> PHP中日期的计算 >> 正文
-
PHP中日期的计算
-
在PHP的应用中,我们常常会遇到日期的计算问题,今天查了下PHP的手册发现有以下函数:
mktime
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])
说明
警告:注意参数的奇怪顺序,这和标准的 UNIX mktime() 调用中的参数顺序不同。在脚本经常会混淆这些值而出错。
根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 新纪元(1970 年 1 月 1 日)到给定时间的秒数。
参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。
is_dst 在夏令时可以被设为 1,如果不是则设为 0,或者不知道是否为夏令时的话设为 -1(默认值)。如果不知道,PHP 会尝试自己判断。这可能会产生未预期(但不是错误)的结果。
注: is_dst 是 3.0.10 版新加的。
mktime() 可以用来做日期计算和验证,对于超出范围的输入它可以自动计算出正确的值来。例如,下面的每一行都会输出字符串“Jan-01-1998”。
Year 可以是两位或四位数字,取值从 0-69 表示 2000-2069 以及 70-99 表示 1970-1999(在如今很常见的 time_t 是 32 位有符号整数的系统中,year 的有效范围是 1901 到 2038)。Windows: 目前所有的 Windows 系统都不支持负的时间戳。因此合法的年份范围只包括从 1970 到 2038。
给定月份的最后一天可以表达为下个月的第 "0" 天,而不是 -1 天。下面两个例子都将产生字符串“The last day in Feb 2000 is: 29”。
年,月,日都等于零的日期被认为是非法的(否则会被当作 30.11.1999,这是很怪的行为)。
例如,我们要算明天,下个月和明年的日期,就可以用以下的代码:
$tomorrow = date('Y-m-d',mktime (0,0,0,date("m") ,date("d")+1,date("Y")));
$nextmonth = date('Y-m',mktime (0,0,0,date("m")+1 ,date("d")+1,date("Y")));
$nextyear = date('Y',mktime (0,0,0,date("m"), date("d"), date("Y")+1));echo $tomorrow.'<br/>';
echo $nextmonth.'<br/>';
echo $nextyear.'<br/>'; -
评论: PHP中日期的计算当前尚无网友评论!发表我的评论
提示
- 1.遵守国家有关法律、法规,尊重网上道德
- 2.承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 3.互动百科留言板管理人员有权保留或删除其管辖留言中的任意内容



