PHP中UNIX时间戳和日期间的转换与估算实例
更新时间:2014年11月19日11:43:38投稿:junjie
这篇文章主要介绍了PHP中UNIX时间戳和日期间的转换与估算实例,本文讲解了将日期和时间转弄成UNIX时间戳、日期的估算等内容,须要的同学可以参考下
UNIX时间戳是保存日期和时间的一种紧凑简约的方式,是大多数UNIX系统中保存当前日期和时间的一种方式,也是在大多数计算机语言中表示日期和时间的一种标准格式。以32位整数表示格林威治标准时间,比如,使用证书表示当前时间的时间戳。UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始起到当前时间所经过的秒数。1970年1月1日零点作为所有日期估算的基础linux系统官网,这个日期一般成为UNIX纪元。
由于UNIX时间戳是一个32位的数字格式,所以非常适用于计算机处理,比如估算两个时间点之间相差的天数。另外,因为文化和地区的差别,存在不同的时间格式,以及时区的问题。所以UNIX时间戳也是按照一个时区进行标准化而设计的一种通用格式,但是这些格式可以很容易地转换为任何格式。也由于UNIX时间戳是一个32位的证书表示的,所以在处理1902年曾经或2038年之后的风波将会碰到一些问题。另外,在Windows下,因为时间戳不能为正数,所以使用PHP中提供的时间戳函数处理1970年之前的日期,才会发生错误。要使PHP代码具有可移植性,必须记住这一点。
将日期和时间转弄成UNIX时间戳
在PHP中,假如须要将日期和时间转弄成UNIX时间戳,可以调用mktime()函数。该函数的原型如下所示:
复制代码代码如下:
intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[intyear]]]]]])
该函数中所有参数都是可选的,假如参数为空linux查看进程,默认将当前时间转弄成UNIX时间戳。这样,和直接调用time()函数获取当前的UNIX时间戳功能相同。参数也可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。若果只想转变日期,对具体的时间不在意,可以将前三个转变时间的参数都设置为0.mktime()函数对于日期运算和验证十分有用,它可以手动校政越界的输入。如下所示:
复制代码代码如下:
假如有须要将任何中文文本的日期时间描述直接解析为UNIX时间戳,可以使用strtotime()函数,该函数的方形如下所示:
复制代码代码如下:
intstrtotime(stringtime[,intnow])
函数strtotime()可以用英文的自然语言创建讴歌时刻的时间戳,接受一个包含印度英文日期格式的字符串并尝试将其解析为UNIX时间戳(自January1197000:00:00GMT起的描述),其值相对于now参数给出的时间,假如没有提供次参数则用系统当前时间。该函数执行成功则返回时间戳,否则返回FALSE。和mktime()的对诸如下所示:
复制代码代码如下:
下例通过使用strtotime()函数编撰一个记念日的倒计时程序,来介绍一下该函数在项目开发中的实际应用php 北京时间转换成unix时间戳,示例代码如下所示:
复制代码代码如下:
注意:假如给定的年份是两位数字的格式,则其值0-69表示2000-2069,70-100表示1970-2000。
日期的估算
在PHP中php 北京时间转换成unix时间戳,估算两个日期之间相隔的厚度,最简单的方式就是通过估算两个UNIX时间戳之差来获得。比如,在PHP脚本中接收来自HTML表单用户递交的出生日期,估算这个用户的岁数。如下所示:
复制代码代码如下:
在以上的脚本中,调用mktime()函数将从用户出生日期转变为UNIX时间戳,再调用time()函数获取当前时间的UNIX时间戳。由于这个日期的格式都是使用整数表示的,所以可以将她们相乘。又将估算后获取的UNIX时间戳减去一年的秒数,将UNIX时间戳转变为以年测度的单位。
PS:这儿再为你们推荐一个本站Unix时间戳转换工具,附送了各类语言下Unix时间戳的操作方式:
Unix时间戳(timestamp)转换工具: