gpt4 book ai didi

php - 将整数转换为时间格式,以便您可以用它计算时间差

转载 作者:行者123 更新时间:2023-11-29 18:05:36 24 4
gpt4 key购买 nike

从我的用户表中,我检索一个整数(例如 60),该整数应该是用户可以用于其总休息时间的最大分钟数。

当用户进入和退出休息时间时,它会在另一个表中重新排序,如下所示:

    $timestamp = date("Y-m-d H:i:s");
$sql = "INSERT INTO user_log (username, in_pause, action_time)
VALUES ('$username', 1, '$timestamp')";

我在他进入时写 1,在他退出时写 0。
我根据这两个记录的时间戳计算用户的休息持续了多长时间(在我的 sql 查询之后,我将时间戳放入 $zeiten[] 中):

    $pause_start = new DateTime($zeiten[1]);
$pause_ende = new DateTime($zeiten[0]);
$pause_diff = $pause_start->diff($pause_ende);

到目前为止效果很好。但我似乎无法找到一种方法来操作用户表中的整数(此处为 60),以便我可以从中减去 $pause_diff 。我希望能够计算用户剩余的休息时间。
谢谢!

最佳答案

试试这个代码:

<?php

$max_minutes = (int) 60;
$zeiten[1] = '2000-01-01 10:00:00';
$zeiten[0] = '2000-01-01 10:10:00';

$pause_start = new DateTime($zeiten[1]);
$pause_ende = new DateTime($zeiten[0]);
$pause_diff = $pause_start->diff($pause_ende);
//$pause_diff->format('Y-m-d H:i:s');
$pause_diff_minutes = $pause_diff->format('%i');

//var_dump((int) $pause_diff_minutes);

echo 'the differnece is: ' . ($max_minutes - (int) $pause_diff_minutes) . ' minutes';

结果是:

the differnece is: 50 minutes

You can play with the code here

更新的代码展示了如何从 60 分钟中减去秒数:

<?php

$max_minutes = (int) 60;
$max_minutes_seconds = $max_minutes * 60; // max_minutes to seconds

$zeiten[1] = '2000-01-01 10:00:00';
$zeiten[0] = '2000-01-01 10:10:05';

$pause_start = new DateTime($zeiten[1]);
$pause_ende = new DateTime($zeiten[0]);
$pause_diff = $pause_start->diff($pause_ende);

$pause_diff_minutes = $pause_diff->format('%i');
$pause_diff_seconds = $pause_diff->format('%s');

// sum total diff in seconds
$total_pause_seconds = ((int) $pause_diff_minutes * 60) + $pause_diff_seconds;

$total_diff_seconds = ($max_minutes_seconds - $total_pause_seconds);

echo 'the differnece is: ' . $total_diff_seconds . ' seconds' . "\n";
echo 'which is: ' . floor($total_diff_seconds / 60) . ' minutes and ' . $total_diff_seconds % 60 . ' seconds';

结果是:

the differnece is: 2995 seconds
which is: 49 minutes and 55 seconds

play with it here

关于php - 将整数转换为时间格式,以便您可以用它计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47884271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com