在UNIX系统中,日期和时间表示为从1970年1月1日00:00:00(北京时间1970年1月1日08:00:00)到当前时刻的总秒数。 该时间称为 UNIX 时间戳
UNIX时间戳提供了统一、简洁的时间表示方法,在不同的操作系统中都支持,并且同一时间在UNIX和Windows系统中都由相同的UNIX时间戳表示,因此无需使用不同的系统进行转换。 同时,UNIX时间戳是一个时间差,与时区无关。 无论 PHP 当前使用哪个时区,其 UNIX 时间戳都是唯一的。
PHP 提供了各种处理 UNIX 时间戳的函数。 在 Windows 中表示 1970 年 1 月 1 日之前的时间很困难,因为当前版本的 PHP 不支持任何已知版本的 Windows 以及其他一些系统中的负时间戳。
目前,一些操作系统使用32位二进制数来表示时间。 此类系统的 UNIX 时间戳可使用至 2038 年 1 月 19 日 03:14:07 GMT(二进制表示形式:01111111 11111111 11111111 11111111)。 下一秒,二进制数就会变成10000000 00000000 00000000 00000000,出现溢出错误,导致系统将时间误认为是1901年12月13日20:45:52。 这很可能会导致软件故障,甚至系统瘫痪。 不过php 获取星期,使用64位二进制数来表示时间的系统,最多可以使用到292277026596 December 04 15:30:08 GMT,基本不会遇到此类溢出问题。
说了这么多,我们如何获取当前的时间戳呢? 我们来详细介绍一下。
我们可以使用 PHP 中的 time() 函数来获取当前的 UNIX 时间戳。 该函数的语法如下:
时间()
time() 函数不带参数并返回 UNIX 时间戳的整数值。
[示例] 使用 time() 函数获取当前时间戳。
<?php $time = time(); echo '当前的时间戳为:'.$time.'
'; date_default_timezone_set('GMT'); $time = time(); echo '将时区设置为零时区,获取的时间戳为:'.$time; ?>
运行结果如下:
当前时间戳是:1585203148
将时区设置为零时区php 获取星期,获取的时间戳为:1585203148