mktime

mktime

(PHP 4, PHP 5)

mktime取得一个日期的 Unix 时间戳

说明

int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。

参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。

参数

hour

小时数。

minute

分钟数。

second

秒数(一分钟之内)。

month

月份数。

day

天数。

year

年份数,可以是两位或四位数字,0-69 对应于 2000-2069,70-100 对应于 1970-2000。在如今系统中普遍把 time_t 作为一个 32 位有符号整数的情况下,year 的合法范围是 1901 到 2038 之间,不过此限制自 PHP 5.1.0 起已被克服了。

is_dst

本参数可以设为 1,表示正处于夏时制时间(DST),0 表示不是夏时制,或者 -1(默认值)表示不知道是否是夏时制。如果未知,PHP 会尝试自己搞明白。这可能产生不可预知(但并非不正确)的结果。如果 PHP 运行的系统中启用了 DST 或者 is_dst 设为 1,某些时间是无效的。例如 DST 自 2:00 生效,则所有处于 2:00 到 3:00 之间的时间都无效,mktime() 会返回一个未定义(通常为负)的值。某些系统(例如 Solaris 8)的 DST 在午夜生效,则 DST 生效当天的 0:30 会被计算为前一天的 23:30。

Note:

自 PHP 5.1.0 起,本参数已被废弃。应该使用新的时区处理特性来替代。

返回值

mktime() 根据给出的参数返回 Unix 时间戳。如果参数非法,本函数返回 FALSE(在 PHP 5.1 之前返回 -1)。

更新日志

版本 说明
3.0.10 加入了 is_dst 参数
5.1.0 is_dst 参数被废弃。出错时函数返回 FALSE 而不再是 -1。修正了本函数可以接受年月日参数全为零。

范例

Example #1 mktime() 例子

mktime() 在做日期计算和验证方面很有用,它会自动计算超出范围的输入的正确值。例如下面例子中每一行都会产生字符串 "Jan-01-1998"。

<?php
echo date("M-d-Y"mktime(00012321997));
echo 
date("M-d-Y"mktime(0001311997));
echo 
date("M-d-Y"mktime(000111998));
echo 
date("M-d-Y"mktime(0001198));
?>

Example #2 下个月的最后一天

任何给定月份的最后一天都可以被表示为下个月的第 "0" 天,而不是 -1 天。下面两个例子都会产生字符串 "The last day in Feb 2000 is: 29"。

<?php
$lastday 
mktime(000302000);
echo 
strftime("Last day in Feb 2000 is: %d"$lastday);
$lastday mktime(0004, -312000);
echo 
strftime("Last day in Feb 2000 is: %d"$lastday);
?>

注释

Caution

在 PHP 5.1.0 之前,在任何已知 Windows 版本以及一些其它系统下不支持负的时间戳。因此年份的有效范围限制为 1970 到 2038。

参见

  • gmmktime() - 取得 GMT 日期的 UNIX 时间戳
  • date() - 格式化一个本地时间/日期
  • time() - 返回当前的 Unix 时间戳

  • checkdate
  • date
  • date_add
  • date_create
  • date_create_from_format
  • date_date_set
  • date_default_timezone_get
  • date_default_timezone_set
  • date_diff
  • date_format
  • date_get_last_errors
  • date_interval_create_from_date_string
  • date_interval_format
  • date_isodate_set
  • date_modify
  • date_offset_get
  • date_parse
  • date_parse_from_format
  • date_sub
  • date_sunrise
  • date_sunset
  • date_sun_info
  • date_timestamp_get
  • date_timestamp_set
  • date_timezone_get
  • date_timezone_set
  • date_time_set
  • getdate
  • gettimeofday
  • gmdate
  • gmmktime
  • gmstrftime
  • idate
  • localtime
  • microtime
  • mktime
  • strftime
  • strptime
  • strtotime
  • time
  • timezone_abbreviations_list
  • timezone_identifiers_list
  • timezone_location_get
  • timezone_name_from_abbr
  • timezone_name_get
  • timezone_offset_get
  • timezone_open
  • timezone_transitions_get
  • timezone_version_get
  • PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道