linux 时间戳的作用,什么是Unix时间戳,为什么要使用它?

小编典典

什么是Unix时间戳

简而言之,Unix时间戳是一种跟踪时间(以秒为单位)的方式。此计数从1970年1月1日UTC的Unix Epoch开始。因此,

Unix时间戳仅仅是特定日期和Unix Epoch之间的秒数

。还应该指出的是,无论您位于全球何处,该时间点在技术上都不会改变。这对于计算机系统在在线和客户端动态和分布式应用程序中跟踪和排序日期信息非常有用。许多网站管理员使用Unix时间戳的原因是因为它们可以一次表示所有时区。有关更多信息,请阅读Wikipedia文章。

什么strtotime()是它,如何有用

顾名思义,strtotime()函数用于将日期字符串转换为Unix时间戳(str到time)。

strtotime —将任何英语文本日期时间描述解析为Unix时间戳

例如,假设您要获取date的Unix时间戳25 December 2013,则可以这样使用strtotime():

echo strtotime("25 December 2013"), "\n"; // => 1387909800

strtotime()还可以处理相对的时间和日期格式。例如,考虑以下内容:

echo strtotime("+1 month"), "\n"; // => 1390980039

echo strtotime("last day of next month"), "\n"; // => 1391152839

这些是一些基本示例。strtotime()也可以处理非常复杂的日期格式。请参阅文档以获取更多信息。

我应该何时使用时间戳记

Unix时间戳的解释与区域无关,并且是从相同的时间点计算的,与时区无关。如果您有一个在多个时区使用的Web应用程序,并且需要日期/时间来反映各个用户的设置,请使用时间戳记。

在的情况下strtotime(),它通常用于在日期格式之间进行转换。由于strtotime()可以解析几乎任何日期字符串,因此可以将日期字符串转换为时间戳。有了时间戳后,您可以使用date()或类似功能随意格式化它。

局限性 strtotime()

在32位系统上,整数的最大值为2,147,483,647。可以用这种方式表示的最远时间是2038年1月19日星期二的03:14:07

UTC。这也称为2038年问题。

请参阅PHP手册中的以下说明:

时间戳记的有效范围通常是从1901年12月13日星期五20:45:54 UTC到2038年1月19日星期二03:14:07

UTC。(这些日期对应于32位带符号整数的最小值和最大值。)此外,并非所有平台都支持负时间戳,因此,日期范围不得超过Unix纪元。这意味着,例如1970年1月1日之前的日期将不适用于Windows,某些Linux发行版和其他一些操作系统。PHP

5.1.0和更高版本克服了此限制。

使用DateTime对象

如果您使用的日期超出了13 Dec 1901to 19 Jan

2038范围,请考虑使用PHP的DateTime对象,该对象可以处理更大范围的日期。在任一方向上,DateTime都可以表示约2930亿年。

DateTime类在> =

5.2.0的PHP版本上可用。如果您运行的PHP版本高于5..2.0,则在处理日期和时间时应使用DateTime。这是最好的方法。如果您使用的是旧PHP版本,请先进行

升级 。5.3.0之前的任何版本都是古老的。

使用DateTime::__construct()或DateTime::createFromFormat()创建一个DateTime对象。请注意,DateTime::createFromFormat()仅在PHP> = 5.3上可用。使用此方法,您可以解析日期和时间怪异的字符串,否则可能无法使用strtotime()

使用DateTime::format()方法将您的DateTime对象转换为您可能要使用的任何日期格式

这是一些有关DateTime的好文章:

和一本书的架子:

2020-05-29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值