PHP 从 0/0/0 00:00:00 计算日期间隔

内能

我需要计算持续时间并使其易于阅读。例如,我有一个字符串:“2 天 4 小时”。我需要我的代码来计算该字符串的持续时间作为时间戳并使其可读。

我的问题是,如果我将时间戳添加到0,它从 1/1/1970 开始,但我需要它来计算持续时间。

我试图减去 1/1/1970 01:01:00 到0但在计算时它返回一个无意义的结果。

司法部

如果我理解正确,您想转换如下内容:

$dateString = "2 days 4 hours";

时间戳?

如果是这种情况,并且您知道总会有几天/几小时您可以执行以下操作:

$dateString = "2 days 4 hours";
preg_match_all('!\d+!', $dateString , $numbersOnly);
$partialTimeStamp= (($numbersOnly[0][0]*24)+$numbersOnly[0][1])*3600;
print_r($partialTimeStamp); // will print 187200

有了这个,您将有几秒钟的时间。例如,如果您的字符串中也有分钟,您将执行以下操作:

$dateString = "2 days 4 hours 15 minutes";
preg_match_all('!\d+!', $dateString , $numbersOnly);
$partialTimeStamp= (($numbersOnly[0][0]*24)+$numbersOnly[0][1])*3600 + $numbersOnly[0][2]*60;
print_r($partialTimeStamp); // will print 188100

使用这个部分时间戳,您可以计算下一个时间戳,例如:

$nextTimeStamp = time () + $partialTimeStamp;
print_r($nextTimeStamp);

编辑:错过了“回到人类可读”部分..为此,你会做这样的事情:

$days = floor($partialTimeStamp/ 86400);
$partialTimeStamp = $partialTimeStamp - $days*86400;
$hours = floor($partialTimeStamp/ 3600);
$min = floor($partialTimeStamp/ 60 % 60);

不仅如此:

print_r($days." days ".$hours." hours ".$min. " minutes");// will output 2 days 4 hours 15 minutes 

我希望这有帮助。

BR

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP mySQL时间戳需要返回日期为00:00:00

来自分类Dev

PHP:将时间字符串00:00:00替换为00:00

来自分类Dev

如何在PHP中正确设置“ 0000-00-00 00:00:00”作为DateTime

来自分类Dev

如何在PHP中正确设置“ 0000-00-00 00:00:00”作为DateTime

来自分类Dev

PHP date()打印24:00而不是00:00

来自分类Dev

PHP获得Unix时间戳的00:00:00

来自分类Dev

PHP获得Unix时间戳的00:00:00

来自分类Dev

如果不是00:00:00,则显示php时间

来自分类Dev

WifiManager返回BSSID 00:00:00:00:00:00

来自分类Dev

无法将日期时间格式转换为00:00:00而不是12:00:00?

来自分类Dev

从MySQL到PostgreSQL插入0000-00-00 00:00:00日期时间

来自分类Dev

日期时间值不正确:列的“0000-00-00 00:00:00”

来自分类Dev

如何使date()在php中返回00:00

来自分类Dev

mysql日期显示30/11 / -000而不是0000-00-00

来自分类Dev

MySQL检查日期为00:00:00的情况?

来自分类Dev

如何获取时间为00:00:00的系统日期

来自分类Dev

JavaScript中的日期格式,时间为00:00:00

来自分类Dev

MySQL检查日期为00:00:00的情况?

来自分类Dev

定义从 02:00:00 AM 到 02:00:00 AM 计算日期的逻辑

来自分类Dev

日期时间 7 天后 00:00

来自分类Dev

为什么将“ 0000:00:00 00:00:00”解析为日期返回-0001-11-28T00:00:00Z?

来自分类Dev

php date & strtotime 函数产生 1970-00-00 00:00 值

来自分类Dev

获得的Android蓝牙MAC是02:00:00:00:00:00

来自分类Dev

00:00:00 DateTime.ToString变为12:00:00

来自分类Dev

0000-00-00 00:00:00在时间戳

来自分类Dev

00:00(24:00)和23:00(23:00)的差异

来自分类Dev

从1月1日00:00:00:000使用JavaScript获取毫秒

来自分类Dev

ffmpeg命令抛出“ ss的无效持续时间规范:00:00:00,000”

来自分类Dev

将字符串格式 00:00:00,000 转换为毫秒 - python

Related 相关文章

  1. 1

    PHP mySQL时间戳需要返回日期为00:00:00

  2. 2

    PHP:将时间字符串00:00:00替换为00:00

  3. 3

    如何在PHP中正确设置“ 0000-00-00 00:00:00”作为DateTime

  4. 4

    如何在PHP中正确设置“ 0000-00-00 00:00:00”作为DateTime

  5. 5

    PHP date()打印24:00而不是00:00

  6. 6

    PHP获得Unix时间戳的00:00:00

  7. 7

    PHP获得Unix时间戳的00:00:00

  8. 8

    如果不是00:00:00,则显示php时间

  9. 9

    WifiManager返回BSSID 00:00:00:00:00:00

  10. 10

    无法将日期时间格式转换为00:00:00而不是12:00:00?

  11. 11

    从MySQL到PostgreSQL插入0000-00-00 00:00:00日期时间

  12. 12

    日期时间值不正确:列的“0000-00-00 00:00:00”

  13. 13

    如何使date()在php中返回00:00

  14. 14

    mysql日期显示30/11 / -000而不是0000-00-00

  15. 15

    MySQL检查日期为00:00:00的情况?

  16. 16

    如何获取时间为00:00:00的系统日期

  17. 17

    JavaScript中的日期格式,时间为00:00:00

  18. 18

    MySQL检查日期为00:00:00的情况?

  19. 19

    定义从 02:00:00 AM 到 02:00:00 AM 计算日期的逻辑

  20. 20

    日期时间 7 天后 00:00

  21. 21

    为什么将“ 0000:00:00 00:00:00”解析为日期返回-0001-11-28T00:00:00Z?

  22. 22

    php date & strtotime 函数产生 1970-00-00 00:00 值

  23. 23

    获得的Android蓝牙MAC是02:00:00:00:00:00

  24. 24

    00:00:00 DateTime.ToString变为12:00:00

  25. 25

    0000-00-00 00:00:00在时间戳

  26. 26

    00:00(24:00)和23:00(23:00)的差异

  27. 27

    从1月1日00:00:00:000使用JavaScript获取毫秒

  28. 28

    ffmpeg命令抛出“ ss的无效持续时间规范:00:00:00,000”

  29. 29

    将字符串格式 00:00:00,000 转换为毫秒 - python

热门标签

归档