从输入字段中减去小时和分钟数

问题描述 投票:0回答:1

我有一个包含五个输入字段的表单:

name="MultiRoomFromDate"  //outputs the date in the following format "d-m-Y"
name="MultiRoomFromTimeH" // has a dropdown of "00" to "23"
name="MultiRoomFromTimeM" // has a dropdown of "00" to "59"


<select name="MultiFromDisplayTimeH" id="MultiFromDisplayTimeH" class="FormTime">
    <option value="0">0</option>
    <option value="3600">1</option>
    <option value="7220">2</option>
    <option value="10800">3</option>
    <option value="14400">4</option>
 </select>

<select name="MultiFromDisplayTimeM" id="MultiFromDisplayTimeM" class="FormTime">
    <option value="0">0</option>
    <option value="900">15</option>
    <option value="1800">30</option>
    <option value="2700">45</option>
</select>

如果我选择“ MultiRoomFromDate”为26-01-2020”,将MultiRoomFromTimeH选择为“ 09”,将MultiRoomFromTimeM选择为“ 00”,然后将“ MultiFromDisplayTimeH”选择为“ 01”,将“ MultiFromDisplayTimeM”选择为“ 00”并提交表单,输出为:

FromDate = MultiRoomFromDate; //26-1-2020
FromHours = MultiRoomFromTimeH; //09
FromMins = MultiRoomFromTimeM; //00
DisplayHours = MultiFromDisplayTimeH; //3600
DisplayMins = MultiFromDisplayTimeM; //0

我需要做的是将“ FromDate,FromHours,FromMins”输出为MINUS“ DisplayHours”和“ DisplayMins”为Y-m-d H:i。

任何人都可以请求帮助。非常感谢您的宝贵时间。

这是我一直在与的工作:

$MultiRoomFromDate = trim($_POST['MultiRoomFromDate']);
$MultiFromDisplayTimeH = trim($_POST['MultiFromDisplayTimeH']);
$MultiFromDisplayTimeM = trim($_POST['MultiFromDisplayTimeM']);

$FromdateStamp = strtotime($MultiRoomFromDate);
$TodateStamp = strtotime($MultiRoomToDate );
$DisplayTime = $FromTimeStamp - $FromDisplayHours - $FromDisplayMins;
$DisplayDateTime = date("Y-m-d H:i", $DisplayTime);

$RoomFromTime = $MultiRoomFromTimeH.":".$MultiRoomFromTimeM;

if(!empty($MultiFromDisplayTimeH)) {
    $DisplayTime1 = date('Y-m-d H:i:s', strtotime("-". $MultiFromDisplayTimeH." hours", strtotime($MultiRoomFromDate." ". $RoomFromTime))); 
} 

if(!empty($MultiFromDisplayTimeM)) {
    $DisplayTime = date('Y-m-d H:i:s', strtotime("-". $MultiFromDisplayTimeM." minutes", strtotime($DisplayTime1))); 
}   

if(empty($MultiFromDisplayTimeH) && empty($MultiFromDisplayTimeM)){
    $DisplayTime = date('Y-m-d H:i', strtotime($DisplayDateTime));
}

也尝试过:

$t = $MultiFromDisplayTimeH + $MultiFromDisplayTimeM;
$RoomFromTimeStamp = strtotime($MultiRoomFromDate);
$h = $RoomFromTimeStamp - $t;
$DisplayTime = date("Y-m-d H:i:s",$h);

已解决我完全重写了我的代码,现在通过使用以下代码解决了该问题:

$DisplayTime = $FromTimeStamp - $FromDisplayHours - $FromDisplayMins;
$DisplayDateTime = date("Y-m-d H:i", $DisplayTime);
php
1个回答
0
投票
$DisplayTime = $FromTimeStamp - $FromDisplayHours - $FromDisplayMins;
echo "DISPLAYTIME 1 ".$DisplayTime."<br/>";
$DisplayDateTime = date("Y-m-d H:i", $DisplayTime);
© www.soinside.com 2019 - 2024. All rights reserved.