PHP函数库分类十一.docx
《PHP函数库分类十一.docx》由会员分享,可在线阅读,更多相关《PHP函数库分类十一.docx(10页珍藏版)》请在冰点文库上搜索。
PHP函数库分类十一
PHP函数库分类十一
3.Date/Time函数列表(三)
·date_sub -别名DateTime:
:
sub
date_sub — 别名 DateTime:
:
sub()
说明
此函数是该函数的别名:
DateTime:
:
sub()
·date_sunrise -返回给定的日期与地点的日出时间
date_sunrise — 返回给定的日期与地点的日出时间
说明
mixed date_sunrise ( int $timestamp [, int $format [, float $latitude [, float$longitude [, float $zenith [, float $gmt_offset ]]]]])
date_sunrise() 返回给定的日期(以 timestamp 指定)与地点的日出时间。
latitude,longitude 和 zenith 参数默认值分别为配置选项中的date.default_latitude,date.default_longitude 和 date.sunrise_zenith。
latitude 默认是指北纬。
因此如果要指定南纬,必须传递一个负值。
同样规则也适用于longitude,其默认是指东经。
gmt_offset 参数的单位是小时。
format 常量
常量
说明
取值举例
SUNFUNCS_RET_STRING
以 string 格式返回结果
16:
46
SUNFUNCS_RET_DOUBLE
以 float 格式返回结果
16.78243132
SUNFUNCS_RET_TIMESTAMP
以 integer 格式(时间戳)返回结果
1095034606
Example#1 date_sunrise() 例子
php
/* 计算葡萄牙里斯本的日出时间
Latitude:
北纬 38.4 度
Longitude:
西经 9 度
Zenith ~= 90
offset:
+1 GMT
*/
echo date("D M d Y"). ', sunrise time :
' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?
>
以上例程的输出类似于:
MonDec202004,sunrisetime:
08:
54
·date_sunset -返回给定的日期与地点的日落时间
date_sunset — 返回给定的日期与地点的日落时间
说明
mixed date_sunset ( int $timestamp [, int $format [, float $latitude [, float$longitude [, float $zenith [, float $gmt_offset ]]]]])
date_sunset() 返回给定的日期(以 timestamp 指定)与地点的日落时间。
latitude,longitude 和 zenith 参数默认值分别为配置选项中的date.default_latitude,date.default_longitude 和 date.sunrise_zenith。
latitude 默认是指北纬。
因此如果要指定南纬,必须传递一个负值。
同样规则也适用于longitude,其默认是指东经。
gmt_offset 参数的单位是小时。
format 常量
常量
说明
取值举例
SUNFUNCS_RET_STRING
以 string 格式返回结果
16:
46
SUNFUNCS_RET_DOUBLE
以 float 格式返回结果
16.78243132
SUNFUNCS_RET_TIMESTAMP
以 integer 格式(时间戳)返回结果
1095034606
Example#1 date_sunset() 例子
php
/* 计算葡萄牙里斯本的日落时间
Latitude:
北纬 38.4 度
Longitude:
西经 9 度
Zenith ~= 90
offset:
+1 GMT
*/
echo date("D M d Y"). ', sunset time :
' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?
>
以上例程的输出类似于:
MonDec202004,sunsettime:
18:
13
·date_sun_info -Returnsanarraywithinformationaboutsunset/sunriseandtwilightbegin/end
date_sun_info — Returnsanarraywithinformationaboutsunset/sunriseandtwilightbegin/end
说明
array date_sun_info ( int $time , float $latitude , float $longitude )
参数
time
Timestamp.
latitude
Latitudeindegrees.
longitude
Longitudeindegrees.
返回值
Returnsarrayonsuccess或者在失败时返回 FALSE.
范例
Example#1A date_sun_info() example
php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
echo "$key:
" . date("H:
i:
s", $val) . "";
}
?
>
以上例程会输出:
sunrise:
05:
52:
11
sunset:
15:
41:
21
transit:
10:
46:
46
civil_twilight_begin:
05:
24:
08
civil_twilight_end:
16:
09:
24
nautical_twilight_begin:
04:
52:
25
nautical_twilight_end:
16:
41:
06
astronomical_twilight_begin:
04:
21:
32
astronomical_twilight_end:
17:
12:
00
·date_timestamp_get -别名DateTime:
:
getTimestamp
date_timestamp_get — 别名 DateTime:
:
getTimestamp()
说明
此函数是该函数的别名:
DateTime:
:
getTimestamp()
·date_timestamp_set -别名DateTime:
:
setTimestamp
date_timestamp_set — 别名 DateTime:
:
setTimestamp()
说明
此函数是该函数的别名:
DateTime:
:
setTimestamp()
·date_timezone_get -别名DateTime:
:
getTimezone
date_timezone_get — 别名 DateTime:
:
getTimezone()
说明
此函数是该函数的别名:
DateTime:
:
getTimezone()
·date_timezone_set -别名DateTime:
:
setTimezone
date_timezone_set — 别名 DateTime:
:
setTimezone()
说明
此函数是该函数的别名:
DateTime:
:
setTimezone()
·date_time_set -别名DateTime:
:
setTime
date_time_set — 别名 DateTime:
:
setTime()
说明
此函数是该函数的别名:
DateTime:
:
setTime()
·getdate -取得日期/时间信息
getdate — 取得日期/时间信息
说明
array getdate ([ int $timestamp ])
返回一个根据 timestamp 得出的包含有日期信息的结合数组。
如果没有给出时间戳则认为是当前本地时间。
数组中的单元如下:
返回的关联数组中的键名单元
键名
说明
返回值例子
"seconds"
秒的数字表示
0 到 59
"minutes"
分钟的数字表示
0 到 59
"hours"
小时的数字表示
0 到 23
"mday"
月份中第几天的数字表示
1 到 31
"wday"
星期中第几天的数字表示
0(表示星期天)到 6(表示星期六)
"mon"
月份的数字表示
1 到 12
"year"
4位数字表示的完整年份
例如:
1999 或 2003
"yday"
一年中第几天的数字表示
0 到 365
"weekday"
星期几的完整文本表示
Sunday 到 Saturday
"month"
月份的完整文本表示
January> 到 December
0
自从Unix纪元开始至今的秒数,和time() 的返回值以及用于 date() 的值类似。
系统相关,典型值为从-2147483648 到2147483647。
Example#1 getdate() 例子
php
$today = getdate();
print_r($today);
?
>
以上例程的输出类似于:
Array
(
[seconds]=>40
[minutes]=>58
[hours]=>21
[mday]=>17
[wday]=>2
[mon]=>6
[year]=>2003
[yday]=>167
[weekday]=>Tuesday
[month]=>June
[0]=>1055901520
)
·gettimeofday -取得当前时间
gettimeofday — 取得当前时间
说明
mixed gettimeofday ([ bool $return_float ])
本函数是gettimeofday
(2)的接口。
返回一个关联数组,包含有系统调用返回的数据。
自PHP5.1.0起有个可选参数 return_float,当其设为 TRUE 时,gettimeofday() 会返回一个浮点数。
数组中的键为:
∙"sec"-自Unix纪元起的秒数
∙"usec"-微秒数
∙"minuteswest"-格林威治向西的分钟数
∙"dsttime"-夏令时修正的类型
Example#1 gettimeofday() example
php
print_r(gettimeofday());
echo gettimeofday(true);
?
>
以上例程的输出类似于:
Array
(
[sec]=>1073504408
[usec]=>238215
[minuteswest]=>0
[dsttime]=>1
)
1073504408.23910
·gmdate -格式化一个GMT/UTC日期/时间
gmdate — 格式化一个GMT/UTC日期/时间
说明
string gmdate ( string $format [, int $timestamp ])
同 date() 函数完全一样,只除了返回的时间是格林威治标准时(GMT)。
例如当在中国(GMT+0800)运行以下程序时,第一行显示“Jan01200000:
00:
00”而第二行显示“Dec31199916:
00:
00”。
Example#1 gmdate() 例子
php
echo date("M d Y H:
i:
s", mktime (0,0,0,1,1,2000));
echo gmdate("M d Y H:
i:
s", mktime (0,0,0,1,1,2000));
?
>
Note:
在PHP5.1.0之前,负的时间戳(1970年之前的日期)在某些系统下(例如Windows)不能工作。
·gmmktime -取得GMT日期的UNIX时间戳
gmmktime — 取得GMT日期的UNIX时间戳
说明
int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [,int $year [, int $is_dst ]]]]]]])
和 mktime() 完全一样,只除了返回值是格林威治标准时的时间戳。
参数总是表示GMT日期,因此 is_dst 对结果没有影响。
和 mktime() 一样,参数可以从右到左依次空着,空着的参数会被设为相应的当前GMT值。
Note:
自5.1.0起,is_dst 参数被废弃。
因此应该用新的时区处理特性。
Note:
gmmktime() 内部使用了 mktime(),因此只有转换成本地时间也合法的时间才能用在其中。
soonlytimesvalidinderivedlocaltimecanbeused.
Example#1 gmmktime() 在Windows中的边界
php
gmmktime(0, 0, 0, 1, 1, 1970); // 在 GMT 和西方合法,在东方不合法
?
>
·gmstrftime -根据区域设置格式化GMT/UTC时间/日期
gmstrftime — 根据区域设置格式化GMT/UTC时间/日期
说明
string gmstrftime ( string $format [, int $timestamp ])
和 strftime() 的行为相同,只除了返回时间是格林威治标准时(GMT)。
例如,当在东部标准时(EST,GMT-500)运行时,下面第一行显示“Dec31199820:
00:
00”,而第二行显示“Jan01199901:
00:
00”。
Example#1 gmstrftime() 例子
php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:
%M:
%S", mktime (20,0,0,12,31,98))."";
echo gmstrftime("%b %d %Y %H:
%M:
%S", mktime (20,0,0,12,31,98))."";
?
>