Hướng dẫn php calculate working hours - php tính giờ làm việc

Tôi có một vấn đề nhỏ trong khi tính tổng số giờ

Nội phân Chính showShow

  • HTML DateTime Input
  • Hàm PHP để tính chênh lệch giờ
  • Làm thế nào để bạn tính toán số giờ?
  • Làm thế nào tôi có thể tính giờ giữa hai ngày trong PHP?
  • Làm thế nào để bạn tổng cộng trong PHP?
  • Làm thế nào tôi có thể thêm giờ và phút trong PHP?

Giờ làm việc của tôi giống như:

Day1 - 12:23 Hours
Day2 - 11:43 Hours
Day3 - 10:18 Hours

Làm thế nào tôi có thể lấy nó bởi PHP? Cảm ơn trước

Noich

13.6K15 Huy hiệu vàng61 Huy hiệu bạc90 Huy hiệu đồng15 gold badges61 silver badges90 bronze badges

Đã hỏi ngày 13 tháng 3 năm 2013 lúc 12:02Mar 13, 2013 at 12:02

0

Chỉ cần thêm chúng như thế này:

$day1hours = "12:23";
$day2hours = "11:43";
$day1 = explode(":", $day1hours);
$day2 = explode(":", $day2hours);

$totalmins = 0;
$totalmins += $day1[0] * 60;
$totalmins += $day1[1];
$totalmins += $day2[0] * 60;
$totalmins += $day2[1];

$hours = $totalmins / 60;
$minutes = $totalmins % 60;

$totalhours = "$hours.$minutes";

Nó khá phức tạp như thế này, nhưng nó chỉ để hiển thị ý tưởng: Tính lại vào phút, thêm phút với nhau, sau đó tính toán lại thành giờ.

Lưu ý rằng PHP có hỗ trợ khá rộng rãi cho ngày và thời gian. Cân nhắc sử dụng điều đó: http://www.php.net/manual/en/book.datetime.php

Hướng dẫn php calculate working hours - php tính giờ làm việc

admdrew

3.7254 huy hiệu vàng25 Huy hiệu bạc39 Huy hiệu đồng4 gold badges25 silver badges39 bronze badges

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 12:06Mar 13, 2013 at 12:06

Bart Friederichsbart FriederichsBart Friederichs

32.2K15 Huy hiệu vàng96 Huy hiệu bạc186 Huy hiệu Đồng15 gold badges96 silver badges186 bronze badges

Kỹ thuật này sẽ cho tổng số giờ và phút chính xác. Câu trả lời trên cho tôi 1.25,15 khi tôi thêm 00:30 và 00:45

<?php
$hourMin = array("00:30","00:45"); //an Multiple Hour:Minutes array
$hours = 0;
$mins  = 0;
  foreach($hourMin as $val)
  {
      $explodeHoursMins = explode(':',$val);
      $hours += $explodeHoursMins[0];
      $mins  += $explodeHoursMins[1];
  }

  $minToHours =  date('H:i', mktime(0,$mins)); //Calculate Hours From Minutes
  $explodeMinToHours = explode(':',$minToHours);
  $hours += $explodeMinToHours[0];
  $finalMinutes = $explodeMinToHours[1];
  echo $hours." : ".$finalMinutes;
?>

Đã trả lời ngày 2 tháng 2 năm 2018 lúc 11:46Feb 2, 2018 at 11:46

Vishnu Bhadoriyavishnu BhadoriyaVishnu Bhadoriya

1.6161 Huy hiệu vàng21 Huy hiệu bạc28 Huy hiệu đồng1 gold badge21 silver badges28 bronze badges

Nếu bạn sử dụng chức năng này để tính toán thời gian thì nó sẽ hoạt động

function sumTime($initialHour, $finalHour) {
    $h = date('H', strtotime($finalHour));
    $m = date('i', strtotime($finalHour));
    $s = date('s', strtotime($finalHour));
    $tmp = $h." hour ".$m." min ".$s." second";
    $sumHour = $initialHour." + ".$tmp;
    $newTime = date('H:i:s', strtotime($sumHour));
    return $newTime;
 };

Để biết thêm giải thích, hãy tham khảo liên kết này: Tính toán thời gian trong PHP

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 12:16Mar 13, 2013 at 12:16

bởi Vincy. Sửa đổi lần cuối vào ngày 11 tháng 7 năm 2022.

Trong PHP, có nhiều cách để tính toán sự khác biệt giữa hai ngày. Trong hướng dẫn này, chúng tôi đang sử dụng các hàm thời gian ngày PHP để tính toán giờ & nbsp; chênh lệch giữa hai ngày.

Trong ví dụ này, chúng tôi là ngày bắt đầu và kết thúc từ người dùng. Và sau đó, chúng tôi sử dụng strtotime () để chuyển đổi chuỗi ngày thành dấu thời gian để tính toán sự khác biệt.

Xem bản demo

HTML DateTime Input

Mã này hiển thị trường đầu vào để nhận & nbsp; ngày bắt đầu và ngày kết thúc & nbsp; từ người dùng.

<form id="frmDate" action="" method="post">
	<div>
	<label style="padding-top:20px;">Start Date</label><br/>
	<input type="text" name="startdate" value="<?php if(!empty($_POST["startdate"])) { echo $_POST["startdate"]; } ?>" class="demoInputBox">
	</div>
	
	<div>
	<label>End Date</label>
	<span id="userEmail-info" class="info"></span><br>
	<input type="text" name="enddate" value="<?php if(!empty($_POST["startdate"])) { echo $_POST["enddate"]; } ?>" class="demoInputBox">
	</div>
	
	<div>
	<input type="submit" name="submit" value="Find Difference" class="btnAction">
	</div>
</form>

Hàm PHP để tính chênh lệch giờ

Chúng tôi gọi chức năng PHP này khi người dùng gửi phạm vi ngày để tính toán giờ & nbsp; chênh lệch.

<?php
function differenceInHours($startdate,$enddate){
	$starttimestamp = strtotime($startdate);
	$endtimestamp = strtotime($enddate);
	$difference = abs($endtimestamp - $starttimestamp)/3600;
	return $difference;
}
if(!empty($_POST["submit"])) {
	$hours_difference = differenceInHours($_POST["startdate"],$_POST["enddate"]);	
	$message = "The Difference is " . $hours_difference . " hours";
}
?>

Xem demodownload

Trở lại đầu

Làm thế nào để bạn tính toán số giờ?

Làm thế nào tôi có thể tính giờ giữa hai ngày trong PHP?.

Làm thế nào để bạn tổng cộng trong PHP?

Làm thế nào tôi có thể thêm giờ và phút trong PHP?

Giờ làm việc của tôi giống như:

Làm thế nào tôi có thể lấy nó bởi PHP? Cảm ơn trước

Noich

Làm thế nào tôi có thể tính giờ giữa hai ngày trong PHP?

Làm thế nào để bạn tổng cộng trong PHP?$hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);

Làm thế nào để bạn tổng cộng trong PHP?

Làm thế nào tôi có thể thêm giờ và phút trong PHP?$total = $price * $quantity; $total = $total + $shipping; $total = $total - $discount; The asterisk (*) indicates multiplication in PHP, so the total is first calculated as the number of items purchased ($quantity) multiplied by the price.

Làm thế nào tôi có thể thêm giờ và phút trong PHP?

Giờ làm việc của tôi giống như: