过去的文本日期到天(自) PHP
嘿伙计们, 如何计算自 Twitter 在其 API 中输出的日期以来过去的天数 例如:
2010 年 7 月 12 日星期一 00:27:26 +0000
至 XXX
我们可以使用 strtotime
谢谢大家, 右旋糖酐
Hey guys,
how does one calculate the days past since a date like the one Twitter outputs in its API
eg:
Mon Jul 12 00:27:26 +0000 2010
to XXX
Can we do it with strtotime
Thanks guys,
Dex
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做(其中
$your_date
是你提到的字符串):在你的情况下,当我执行
echo $diff;
时,输出是(当时我发布了答案):查看
strtotime()
,<一个href="http://php.net/manual/en/function.time.php" rel="nofollow">time()
和date()
。希望这对您有帮助。
You can do it like that (where
$your_date
is the string you mentioned):In your case, when I did
echo $diff;
the output was (at the time I posted the answer):See more details for
strtotime()
,time()
anddate()
.Hope this helped you.
您可能会在这里找到:
在 PHP 中执行日期时间相关操作
或在 php 手册中有很多..
http://php.net/manual/en/function。日期.php
You might find sth here:
performing datetime related operations in PHP
or in php manual there is a lot..
http://php.net/manual/en/function.date.php
兼容性说明:仅适用于 PHP >= 5.3.0
如果日期格式不变,您可以反转该过程(即反转时间戳 -> 字符串(在 Twitter 服务器上)到时间戳)使用精确的日期格式。使用 DateTime::createFromFormat 手册页上的表格:
注意:在我的机器,
date('dmY H:i:s', $unix_timestamp)
相差两个小时,机器时区是 GMT+2。要计算两个 Unix 时间戳之间的天数差异,请使用数学(一天有 86400 秒):
如果您有两个这样的日期,则可以按照注释中的建议使用
DateTime::diff
泽尔克拉特斯。您已使用DateTime::createFromFormat
创建了两个DateTime
实例,并使用传递的两个参数(之前创建的 DateTime 实例)调用DateTime::diff
。返回的DateInterval
实例有一个d
属性,其中包含天数差异。另一种方法是使用 getTimestamp 方法,根据前面的示例进行数学计算。
参考资料:
Compatibility note: works only for PHP >= 5.3.0
Providing that the date format does not change, you can reverse the process (i.e. reverse timestamp -> string (on Twitters servers) to timestamp) using the exact date format. Using the table on the manual page of DateTime::createFromFormat:
Beware: On my machine,
date('d-m-Y H:i:s', $unix_timestamp)
differs two hours, the machines timezone is GMT+2.To calculate the difference between in days between two Unix timestamps, use math (a day has 86400 seconds):
If you've two such dates, you can use
DateTime::diff
as suggested in the comments by Zerocrates. You've create twoDateTime
instances usingDateTime::createFromFormat
and invoke theDateTime::diff
with two arguments passed, previously created DateTime instances. The returnedDateInterval
instance has ad
property which contains the difference in days.The other way would be using the
getTimestamp
method, doing the maths from the previous example.References: