php如何取得十三位unix时间戳

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何取得十三位unix时间戳相关的知识,希望对你有一定的参考价值。

用time()取到的是10位,貌似网上大多的都是十位,但是我模拟某网站登录时记录的cookie是13位,而且据说13为是比10位更精确的unix时间戳,好像可以用js获取到10位和13位的,请问怎么用php获取13位的

function getMillisecond() 
list($t1, $t2) = explode(' ', microtime());
return $t2 . '.' .  ceil( ($t1 * 1000) );

echo getMillisecond();


前面十位是标准的时间戳, 后面三位是毫秒

参考技术A microtime()取得当前时间的unix时间戳和微妙数.十三位的.
本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。
参考技术B microtime()

10位的Unix时间(秒)
8位的微妙
足够你用了.截取自己要的13位就可以了.本回答被提问者和网友采纳
参考技术C import time
print int(time.time());

如何在 php 中为 unix 时间戳添加 24 小时?

【中文标题】如何在 php 中为 unix 时间戳添加 24 小时?【英文标题】:How do I add 24 hours to a unix timestamp in php? 【发布时间】:2011-01-31 16:25:48 【问题描述】:

我想暂时将 24 小时添加到时间戳。如何找到 24 小时的 unix 时间戳编号,以便立即将其添加到时间戳中?

我还想知道如何将 48 小时或多天添加到当前时间戳。

我怎样才能最好地做到这一点?

【问题讨论】:

“如何添加 48 小时或多天” - 夏令时是个问题吗? 我想指出 Álvaro G. Vicario 的回答。添加简单的 24 小时可能不是您在每种情况下都想要的。 是的,这就是为什么我想知道 zeckdude 是否知道 dst 以及他是否对此感到担忧。 【参考方案1】:

您可能希望添加一天而不是 24 小时。由于(在其他情况下)夏令时,并非所有日子都有 24 小时:

strtotime('+1 day', $timestamp);

【讨论】:

这个案例并没有那么晦涩难懂,因为早先问题的所有其他代码都会在下周日早上中断。 +1 由于这种情况,我的代码认为 March 有 32 天,因此最好记住 DST,除非您仅在 GMT 中操作。【参考方案2】:

Unix 时间戳只是自 1970 年 1 月以来的秒数,因此要将 24 小时添加到 Unix 时间戳,我们只需添加 24 小时的秒数。 (24 * 60 *60)

time() + 24*60*60;

【讨论】:

24*60*60 = 86400(可能会为某人节省几秒钟)【参考方案3】:

添加24*3600,即24小时内的秒数

【讨论】:

当夏令时从冬季切换到夏季或反之亦然时,这可能无法正常工作【参考方案4】:

Unix 时间戳以秒为单位,因此只需将相应的秒数添加到时间戳即可:

$timeInFuture = time() + (60 * 60 * 24);

【讨论】:

不,这不会考虑夏令时从夏季到冬季的切换,反之亦然【参考方案5】:

您也可以使用DateTime 类:

$timestamp = mktime(15, 30, 00, 3, 28, 2015);

$d = new DateTime();
$d->setTimestamp($timestamp);

添加 P1 Day:

$d->add(new DateInterval('P1D'));
echo $d->format('c');

更多详情请见DateInterval。

【讨论】:

【参考方案6】:

正如您所说,如果您想立即为时间戳添加 24 小时,那么您可以这样做:

 <?php echo strtotime('+1 day'); ?>

以上代码将为您当前的时间戳增加 1 天或 24 小时。

代替+1 day,您可以随心所欲,正如php手册所说strtotime可以解析任何英文文本日期时间描述成 Unix 时间戳

手册中的示例如下:

<?php
     echo strtotime("now"), "\n";
     echo strtotime("10 September 2000"), "\n";
     echo strtotime("+1 day"), "\n";
     echo strtotime("+1 week"), "\n";
     echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
     echo strtotime("next Thursday"), "\n";
     echo strtotime("last Monday"), "\n";
?>

【讨论】:

【参考方案7】:
$time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
//+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)

【讨论】:

以上是关于php如何取得十三位unix时间戳的主要内容,如果未能解决你的问题,请参考以下文章

取得一个日期的 Unix 时间戳 mktime()

r语言 怎样把unix时间戳转换回时间

如何使用 PHP 将 MySQL 时间转换为 UNIX 时间戳?

PHP 如何在 unix 中获取服务器的时间戳? [复制]

如何利用PHP时间戳获取当前时间

Java 如何获得 Unix 时间戳