① php获取UTC时间戳
echo time();//输出结果:1332224315
echo date(DATE_RFC822);//输出结果:Tue, 20 Mar 12 06:18:35 +0000
如果需要其他的时间格式,可以参考w3school上的Date()函数操作手册,地址: http://www.w3school.com.cn/php/php_ref_date.asp
② PHP的常用系统函数有哪些
PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务。常用的有数学运算函数和日期时间函数。
1.数学运算函数:
数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用。下表列出了常用的数学函数:
函数名称
功能描述
函数名称
功能描述
abs()
绝对值
is_finite()
判断是否为有限值
acos()
反余弦
is_infinite()
判断是否为无限值
acosh()
反双曲余弦
is_nan()
判断是否为合法数值
asin()
反正弦
lcg_value()
组合线性同余发生器
asinh()
反双曲正弦
log10()
以10为底的对数
atan2()
两个参数的反正切
log()
自然对数
atan()
反正切
max()
最大值
atanh()
反双曲正切
min()
最小值
base_convert()
在任意进制之间转换数字
mt_getrandmax()
显示随机数的最大可能值
bindec()
二进制转换为十进制
mt_rand()
生成更好的随机数
ceil()
进一法取整
mt_sran()
播下一个更好随机数种子
cos()
余弦
octdec()
八进制转换为十进制
cosh()
双曲余弦
pi()
圆周率
decbin()
十进制转换为二进制
pow()
指数表达式
dechex()
十进制转换为十六进制
rad2deg()
将弧度转换为相应的角度值
decoct()
十进制转换为八进制
rand()
产生一个随机数
deg2rad()
将角度转换为弧度
round()
对浮点数四舍五入
exp()
计算e的指数
sin()
正弦
floor()
舍去法取整
sinh()
双曲正弦
fmod()
返回除法的浮点数余数
sqrt()
平方根
getrandmax()
显示随机数最大的可能值
srand()
播下随机数发生器种子
hexdec()
十六进制转换为十进制
tan()
正切
hypot()
计算直角三角形的斜边长度
tanh()
双曲正切
注意:这些数学函数仅能处理计算机中integer和float范围的值。
示例:产生随机密码的的函数
function CreatePassword($length=6) //生成密码函数,默认6位
{
$dictionary=””; //密码字典
$maxChar=strlen($dictionary); //获取字典长度
$password=””;
for($i=0; $i<$length; $i++) //随机生成每一位
{
$password.=$dictionary[rand(0, $maxChar)]; //产生随机数,再从字典取字母
}
return $password;
}
2.日期和时间运算:
PHP提供了丰富的日期和时间方面运算的函数。
1)UNIX时间戳:
时间戳(Timestamp)是源于UNIX系统的时间表示方法,是指从1970年1月1日(00:00:00GMT)起到现在所经过的秒数,因此也称为UNIX时间戳。
在PHP中使用时间戳的最简单方式就是调用time()函数,time()函数可以根据当前时间返回一个时间戳的表示法。示例:
echo “当前时间戳为:”.time();
2)日期函数:
PHP提供的一些常用的日期函数。
①date()函数:
date()函数用于格式化一个本地日期和时间。语法格式为:
string date(string $format [, int $timestamp])
返回将整数$timestamp按照$format给定格式而产生的字符串。其中,$timestamp参数是可选的,如果没有给出时间戳,则使用本地当前时间,即time()。
下表列出了$format格式化字符串参数的说明:
值
说明
返回值
D
月份中的第几天,有前导零的2位数字
01到31
D
星期中的第几天,文本表示,3个字母
Mon到Sun
J
月份中的第几天,没有前导零
1到31
L
L的小写字母,表示星期几的完整文本格式
Sunday到Saturday
N
数字表示的星期中的第几天
1(表示星期一)到7(表示星期天)
S
每月天数后面的英文后缀,2个字符
st,nd,rd或th。可以和j一起用
W
星期中的第几天,数字表示
0(表示星期天)到6(表示星期六)
Z
年份中的第几天
0到366
W
年份中的第几周,每周从星期一开始
例如:42(当年的第42周)
F
月份,完整的文本格式,例如January
January到December
M
数字表示的月份,有前导零
01到12
M
3个字母缩写表示的月份
Jan到Dec
N
数字表示的月份,没有前导零
1到12
t
给定月份所应有的天数
28到31
L
是否为闰年
如果是闰年为1,否则为0
o
年份数字
例如:2016
Y
4位数字完整表示的年份
例如:2016
y
2位数字表示的年份
例如:16
a
小写的上午和下午值
am或pm
A
大写的上午和下午值
AM或PM
g
小时,12小时格式,没有前导零
1到12
G
小时,24小时格式,没有前导零
0到23
h
小时,12小时格式,有前导零
01到12
H
小时,24小时格式,有前导零
00到23
i
有前导零的分钟数
00到59
s
秒数,有前导零
00到59
e
时区标识
例如:UTC,GMT,Atlantic/Azores
I
是否为夏令时
如果是夏令时为1,否则为0
O
与格林威治时间相差的小时数
例如:+0200
Z
时差偏移量的秒数
-43200到43200
c
ISO8601格式的日期
2011-05-12T15:19:21+00:00
r
RFC822格式的日期
例如:Thu, 21 Dec 2011 06:07:08 +0200
U
从January 1 1970 00:00:00开始至今的秒数
与time()函数相同
示例:
$today=date(“m/d/y”); //结果为:07/19/12
$today=date(“F j, Y, g:i a”); //结果为:July 19, 2012, 9:07 am
$today=date(“Y年n月j日”); //结果为:2012年7月19日
$today=date(“Y-m-d H:i:s”); //结果为:2012-07-19 09:07:32
$today=date(“D M j G:i:s T Y”); //结果为:Thu Jul 19 9:07:32 CST 2012
$today=date(‘i t i s t h e jS d a y’); //结果为:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12
$today=date(‘\i\t \i\s \t\h\e jS \d\a\y’); //结果为:it is the 19th day
$today=date(‘H:m:s \m \i\s\ \m\o \h’); //结果为:09:07:32 m is month
②gmdate()函数:
gmdate()函数实现与date()函数相同的功能,不同的是gmdate()函数返回的时间是格林威治标准时间(GMT)。语法格式为:
string gmdate(string $format [, int $timestamp])
③getdate()函数:
getdate()函数用于获取指定的日期和时间信息。语法格式为:
array getdate([int $timestamp])
如果没有指定时间戳$timestamp,则使用系统当前的本地时间。getdate()函数返回一个数组,数组中的每个元素代表日期和时间中的特定组成部分。下表列出了返回数组中键名的说明:
键名
说明
返回值例子
seconds
秒的数字表示
0到59
minutes
分钟的数字表示
0到59
hours
小时的数字表示
0到23
mday
月份中的第几天的数字表示
1到31
wday
星期中的第几天的数字表示
0(表示星期天)到6(表示星期六)
mon
月份的数字表示
1到12
year
4位数字表示的完整年份
例如:2016
yday
一年中的第几天的数字表示
0到365
weekday
星期几的完整文本表示
Sunday到Saturday
month
月份的完整的文本表示
January到December
0
自从UNIX纪元开始至今的秒数
和time()的返回值类似,是一个时间戳
示例:
<?php
$today=getdate();
print_r($today);
printf(“今天是%s年%s月%s日 星期%s \n”, $today[“year”], $today[“mon”], $today[“mday”], $today[“wday”]);
printf(“现在时间是%s时%s分%s秒”, $today[“hours”], $today[“minutes”], $today[“seconds”]);
?>
执行后的结果为:
Arrar
(
[seconds]=>15
[minutes]=>37
[hours]=>9
[mday]=>19
[wday]=>4
[mon]=>7
[year]=>2016
[yday]=>200
[weekday]=>Thursday
[month]=>July
[0]=>1342661835
)
今天是2016年7月19日 星期4
现在时间是 9时37分15秒
④checkdate()函数:
checkdate()函数用于检查一个日期是否有效,有效则返回true,否则返回false。语法格式为:
bool checkdate(int $month, int $day, int $year)
当满足如下条件时,checkdate()函数将认为是一个有效的日期:
·$year的值是从1到32767
·$month的值是从1到12
·$day的值在给定的$month所应该具有的天数范围之内,包括闰年情况
示例:
echo checkdate(2,29,2012)?”有效”:”无效”;
2)时间函数:
①time()函数:
time()函数使用方法非常简单,没有参数调用后返回当前日期和时间的UNIX时间戳。语法格式为:
int time(void)
示例:
$next50day=time()+(50*24*60*60); //计算50天以后的日期
②mktime()函数:
mktime()函数的作用与time()函数相同,都可以返回一个时间戳表示的时间。不同的是,在mktime()函数中可以指定具体的日期和时间。语法格式为:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述参数列表从右向左顺序省略,任何省略的参数会被设置为本地日期和时间的当前值。如果指定的时间无法表示,则返回false。mktime()函数在做日期计算和验证方面很有用。示例:
$day1=mktime(0,0,0,12,25,2012);
$day2=mktime(0,0,0,10,1,2012);
$days=($day1-$day2)/(24*60*60); //根据时间戳计算出相差的天数
③strtotime()函数:
strtotime()函数用于将可阅读的英文日期/时间字符串转换成UNIX时间戳。语法格式:
int strtotime(string $time[, int $now])
其中,$time参数表示要被转换的字符串,$now表示计算返回值的时间戳。如果没有提供$now参数,将使用系统的当前时间。strtotime()函数成功时返回时间戳,否则返回false。
④microtime()函数:
microtime()函数调用后将返回当前UNIX时间戳和微秒数。语法格式为:
mixed microtime([bool $get_as_float])
这里的可选参数$get_as_float是一个布尔值,如果为true将返回一个浮点数。默认不带参数时将以“msec sec”格式返回一个字符串,其中msec是微秒部分,sec是UNIX时间戳。
③ PHP获取当前时间、年份、月份、日期和天数
获取当前时间、年份、月份、日期和天数是PHP编程中常用的实践。PHP提供了多种函数来处理时间日期的获取与格式化。下面将详细介绍PHP中获取和格式化时间日期的常用方法。
获取当前时间主要依赖于PHP的`Date()`函数,该函数能够将时间戳转换为易读的日期与时间格式。函数语法如下:
`Date(format, timestamp)`
其中,`format`参数用于指定输出的日期格式,而`timestamp`参数可选,用来指定时间戳,默认为`time()`函数返回的当前时间戳。
格式化参数`format`涵盖了一些常用日期字符,如:
`Y`表示完整四位数的年份(例如2019);
`y`表示两位数的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三个字母的月份(例如Jun);
`m`表示带前导零的月份(例如04);
`n`表示无前导零的月份(例如4);
`d`表示带前导零的日期(例如01-31);
`j`表示无前导零的日期(例如1-31);
`D`表示星期的3字母缩写(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第几天(例如0表示星期天);
`W`表示一年中的第几周;
`z`表示一年中的第几天(例如0-366);
通过`Date()`函数,我们可以轻松获取和格式化日期与时间。例如,以下代码将输出当前的中文日期:
运行结果:今天是:2019年04月24日
获取简单的时间同样依赖于`Date()`函数,但我们需要使用一些特定的格式化参数。例如,以下是用于获取时间的常用字符:
`H`表示24小时格式,有前导零(例如08,18);
`h`表示12小时格式,有前导零(例如06,11);
`G`表示24小时格式,无前导零(例如9,17);
`g`表示12小时格式,无前导零(例如6,12);
`i`表示分钟,有前导零(例如00-59);
`s`表示秒,有前导零(例如00 -59);
`A`表示大写的午前和午后(例如AM 或 PM);
`a`表示小写的午前和午后(例如am 或 pm);
`I`表示是否为夏令时;
在获取时间的实例中,下面的代码将输出当前的完整时间:
运行结果:今天是:2019年04月24日 16:34:58 PM
获取时区时,可以通过设置时区参数来确保准确的时间。例如,将时区设置为"Asia/Shanghai",则代码如下:
运行结果:当前时间是:2019年04月24日 16:34:58 PM (上海时区)
为了获取日期信息,可以使用`getdate()`函数。这个函数返回一个数组,包含指定的日期和时间信息,如果没有给出时间戳,则输出本地当前的日期和时间。函数声明如下:
array getdate(int timestamp);
如果需要验证日期的正确性,在程序开发中,可以使用`checkdate()`函数来检查输入的日期是否有效。如果日期有效,返回`true`,否则返回`false`。函数声明如下:
bool checkdate(int month, int day, int year);
时间戳的获取可以通过`time()`函数实现,该函数返回当前时间戳。函数声明如下:
int time();
创建日期时,可以使用`mktime()`函数与`date()`函数。`mktime()`函数返回日期的Unix时间戳,而`date()`函数则用于将时间戳转换为可读的格式。函数语法如下:
时间戳时间的实例代码如下:
运行结果:创建日期是:2015-06-10 09:12:31 AM
通过字符串创建日期时,可以使用`strtotime()`函数。这个函数可以将人类可读的字符串转换为Unix时间戳,从而实现日期和时间的创建。函数语法如下:
字符串时间的实例代码如下:
运行结果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函数可能不完全准确,因此应检查输入的字符串是否正确。
更多日期实例,例如输出下周六的日期和输出七月四日之前的天数,可以使用`Date()`函数配合其他日期相关函数实现。例如,以下代码展示了输出下周六的日期:
实例代码如下:
运行结果:2019年04月27日
输出七月四日之前的天数的实例代码如下:
运行结果:2019年07月01日
在网站中自动更新版权年份时,可以使用`Date()`函数。以下是一个示例代码,用于在网站上自动更新年份:
实例代码如下:
运行结果:版权所有 © 2019
通过以上介绍,我们可以了解到PHP中获取与格式化时间日期的多种方法,这对于处理时间相关问题非常有用。确保正确使用这些函数,可以提高代码的效率与准确性。希望这些信息能对您在PHP编程中处理时间日期问题有所帮助。
④ php获取当前时间
php获取当前时间是怎样的呢?下面就让我们一起来了解一下吧:
php获取当前时间有三种比较常用的方式,分别是gmmktime()函数、mktime()方法、microtime()方法。
1、gmmktime()函数
gmmktime()函数是可以取得GMT日期的UNIX时间戳。
具体语法为:
intgmmktime([int$hour[,int$minute[,int$second[,int$month[,int$day[,int$year[,int$is_dst]]]]]]])
该函数的参数能够从右到左依次空着,而空着的参数就会被设为相应的当前GMT值。
参考范例:
示例代码:
?php
echogmmktime();//没有设置参数,则默认取得当前GMT时间
echogmmktime(0,45,3,7,7,2016);//设置参数表示GMT时间2016年7月7日0点45分3秒
?
输出:
14679099561467852303
2、mktime()方法
mktime()也能够取得一个日期的UNIX时间戳。
具体语法为:
intmktime([int$hour=date("H")[,int$minute=date("i")[,int$second=date("s")[,int$month=date("n")[,int$day=date("j")[,int$year=date("Y")[,int$is_dst=-1]]]]]]])
该函数可以根据给出的参数返回UNIX时间戳。时间戳一般就是一个长整数,其中包含了从UNIX纪元到给定时间的秒数。
参考范例:
示例代码:
?php
echomktime();//没有设置参数则默认取得当前GMT时间
echomktime(0,45,3,7,7,2016);//设置参数表示GMT时间2016年7月7日0点45分3秒
?
输出:
14679104651467852303
3、microtime()方法
microtime()可以获得当前UNIX时间戳和微秒数。
具体语法为:mixedmicrotime([bool$get_as_float])
若是设置get_as_float参数值为true,那么microtime()将返回一个浮点数;若是不带参数,那么返回一个“msecsec”格式的字符串,其中sec是自UNIX纪元起到现在的秒数,而msec则是微秒部分。字符串的两部分基本上都是以秒为单位返回的。
参考范例:
示例代码:
?php
echomicrotime();//返回msecsec格式字符串表示时间
echo"br/";
echomicrotime(true);//返回一个浮点型字符串表示时间
?
输出:
0.404749001467910862
1467910862.4048
以上就是小编的分享了,希望能够帮助到大家。
⑤ 如何写PHP 判断当前时间是否大于下午6点
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
⑥ php锛屽备綍鍒ゆ柇褰揿墠镞堕棿鏄钖﹀湪瑙勫畾镞堕棿涔嫔唴锛堣勫畾镞堕棿鍙链夋椂鍒嗙掞级锛
$checkDayStr = date('Y-m-d ',time());
$startTime = strtotime($checkDayStr."08:00".":00");
$endTime = strtotime($checkDayStr."20:00".":00");
if(time()>$startTime && time()<$endTime ){
//do something...
}