Làm cách nào để tính tổng số giờ làm việc trong php?

Bạn có thể lấy dữ liệu cơ bản bạn cần với truy vấn này. Bạn có thể muốn xem kỹ truy vấn con bắt đầu ở dòng thứ hai và trả về cột "run_end"

select t1.tank_id, t1.motor_id, t1.timestamp as run_start
  , (select min(timestamp) 
     from motor_status_log t2 
     where t2.tank_id = t1.tank_id
       and t2.motor_id = t1.motor_id
       and t2.timestamp > t1.timestamp
       and t2.runningstatus = 'off') as run_end
from motor_status_log t1
where t1.runningstatus = 'on'
order by t1.tank_id, t1.motor_id, t1.timestamp;

Bạn có thể sử dụng điều đó trong mệnh đề TỪ và tính số phút của thời gian chạy với dấu thời gian ()

select *, timestampdiff(minute, run_start, run_end) elapsed_min
from 
  (select t1.tank_id, t1.motor_id, t1.timestamp as run_start
    , (select min(timestamp) 
       from motor_status_log t2 
       where t2.tank_id = t1.tank_id
         and t2.motor_id = t1.motor_id
         and t2.timestamp > t1.timestamp
         and t2.runningstatus = 'off') as run_end
  from motor_status_log t1
  where t1.runningstatus = 'on') t
order by tank_id, motor_id, run_start

TANK_ID  MOTOR_ID  RUN_START                   RUN_END                     ELAPSED_MIN
1        1         June 26 2013 10:45:42+0000  June 26 2013 10:55:29+0000  9
1        1         June 26 2013 17:55:39+0000  (null)                      (null)
2        2         June 26 2013 10:45:42+0000  June 26 2013 12:55:29+0000  129
2        2         June 26 2013 14:55:39+0000  June 26 2013 17:56:39+0000  181

Tôi cho rằng thời gian 'tắt' mỗi ngày sẽ là 24 giờ trừ đi thời gian chạy. Tôi có thể sai

Bạn cần để ý những điểm 'bật' không có điểm 'tắt' tương ứng và ngược lại. (Động cơ 3 có 'tắt' không có 'bật' tương ứng. ) Không rõ bạn có thể muốn làm gì với tình huống đó. Bạn có thể

  • Phớt lờ nó đi,
  • coi đó là khoảng thời gian chạy tối đa (điều này có thể đảm bảo rằng việc bảo trì phòng ngừa sẽ được thực hiện sớm hơn thay vì muộn hơn),
  • coi nó như một khoảng thời gian chạy trung bình, hoặc
  • một cái gì đó khác mà tôi chưa tưởng tượng được

tôi bỏ qua nó


Tổng hợp thời gian đã trôi qua

Để tính tổng thời gian đã trôi qua theo cách đơn giản nhất, hãy bọc truy vấn trước đó trong một lựa chọn khác. Nhưng "cách đơn giản nhất" này có thể cung cấp cho bạn những con số sai lệch nếu bạn có động cơ hoạt động trong khoảng thời gian nhiều ngày. (Bạn có thể giải quyết vấn đề đó bằng một bảng phụ, tuy nhiên. )

Tôi nhận thấy một số giá trị âm được tính gần đây. Tôi vẫn không chắc tại sao nó lại xảy ra. Đang điều tra và sẽ đăng lại khi tôi có câu trả lời


Tôi đang tính toán thời gian để chuyên gia tư vấn trả lời khách hàng bằng cách sử dụng thời gian bắt đầu và thời gian kết thúc làm thông tin đầu vào. Tôi cần loại bỏ bất kỳ sau giờ làm việc, cuối tuần, ngày lễ, v.v. và kết thúc chỉ với thời gian cần thiết trong giờ làm việc

Khái niệm cơ bản về chức năng của tôi

  1. Bắt đầu với ngày bắt đầu, tôi lặp lại ngày này qua ngày khác cho đến khi ngày đó trùng với ngày kết thúc
  2. Trong trường hợp của tôi 8. 5 giờ sẽ được thêm cho mỗi ngày trôi qua trong vòng lặp
  3. Nếu có một ngày cuối tuần/ngày lễ ở giữa, chức năng chỉ tăng ngày và không thêm bất kỳ giây nào vào tổng thời gian
  4. Nếu vòng lặp kết thúc, nó sẽ tính toán sự khác biệt giữa giờ bắt đầu và thời gian kết thúc và cộng nó vào tổng thời gian

Đây có phải là giải pháp hiệu quả nhất hay tôi có thể cải thiện?

Tôi biết có một vài câu trả lời và giải pháp ở đó, chúng đã giúp tôi bắt đầu nhưng nó không phù hợp với những gì tôi cần

Dưới đây là mã đầy đủ của tôi. Hàm cuối cùng (businessHours) là hàm chính dùng để tính thời gian

Bạn sẽ cần chuyển đổi phần phút thành giờ. 15 phút nhân 1 giờ trên 60 phút sẽ thực hiện chuyển đổi thành giờ và phút sẽ bị hủy. 15 phút × (1 giờ / 60 phút) = (15/60) giờ = 0. 25 giờ. Thêm số 0. 25 đến 7. 0 tổng của chúng ta là 7. 0 + 0. 25 = 7. 25 giờ

Máy tính thẻ chấm công trực tuyến - tạo bảng chấm công với số giờ làm việc của bạn trong tuần. Hỗ trợ các khoảng thời gian có độ dài bất kỳ. một tuần, hai tuần, một tháng, tối đa 31 ngày. Bao gồm tiền nghỉ giải lao và tiền làm thêm giờ. Việc nộp, tính toán và in bảng chấm công giờ làm việc thật dễ dàng với máy tính thẻ thời gian rảnh rỗi của chúng tôi. Máy tính giờ trả lương. Hỗ trợ giờ nghỉ trưa

Máy tính thẻ thời gian rảnh tính giờ hàng ngày và giờ nghỉ trưa của bạn trên bảng chấm công trực tuyến hàng tuần thuận tiện. Hỗ trợ Nhóm Thể hiện tình yêu của bạn và giúp tài trợ cho sự phát triển liên tục của chúng tôi về máy tính bảng chấm công

Bạn chỉ cần nhập hai lần theo thứ tự bất kỳ và nhấp vào "Tính toán". Kết quả sẽ là 8 giờ 30 phút (8. 30 giờ hoặc 8. 5 giờ theo số thập phân) hoặc 510 phút. Có 8 giờ đầy đủ giữa những khoảng thời gian này

xin lưu ý rằng điều này có thể mang lại cho bạn các kết quả khác nhau nếu giữa 2 ngày có sự thay đổi về thời gian (như vào mùa xuân hoặc mùa thu). thử cái này. echo strtotime('2013-03-30 21. 00') - strtotime('2013-03-29 21. 00'); . 00') - strtotime('2013-03-30 21. 00');

Khi nhận được sự khác biệt giữa hai đối tượng DateTime với phân số giây, DateTime. diff() hoạt động trong PHP 7. 1. Tuy nhiên, dưới PHP 5. 6, phân số bị cắt cụt. Không rõ liệu việc cắt bớt xảy ra khi nhận các giá trị của đối tượng DateTime, trong quá trình tính toán hay ngay trước khi trả về kết quả

Hàm date_diff() trả về sự khác biệt giữa hai đối tượng DateTime

Hôm nay trong bài đăng này, chúng ta sẽ xem cách tính toán và sau đó lấy chênh lệch thời gian giữa hai thời điểm trong PHP. Bạn có thể nhận thấy trên mạng truyền thông xã hội như Facebook hiển thị một bài đăng được xuất bản “1 giờ trước” hoặc “2 phút trước” hoặc đại loại như thế

Nhiệm vụ là tìm sự khác biệt giữa hai ngày. Phương pháp 1. Sử dụng Hàm date_diff() để tìm sự khác biệt giữa hai ngày. Phương pháp 2. Để sử dụng công thức toán học ngày giờ để tìm sự khác biệt giữa hai ngày. Nó trả về năm, tháng, ngày, giờ, phút, giây giữa hai ngày được chỉ định

Cách 2 Sử dụng Hàm date_diff(). Hàm date_diff() là một hàm có sẵn trong PHP dùng để tính chênh lệch giữa hai ngày tháng. Hàm này trả về một đối tượng DateInterval nếu thành công và trả về FALSE nếu thất bại

Máy tính thời lượng tính toán số ngày, tháng và năm giữa hai ngày

Tính số ngày giữa hai ngày trong PHP Phương pháp 1# Trước tiên, chúng tôi sẽ chuyển đổi ngày bắt đầu và ngày kết thúc thành dấu thời gian unix bằng cách sử dụng hàm strtotime(), sau đó trừ ngày kết thúc cho ngày bắt đầu, sau đó nó sẽ cung cấp cho bạn sự khác biệt tính bằng giây, mà

strtotime() trả lại cho bạn một số đại diện cho thời gian tính bằng giây. Để tăng nó, hãy thêm số giây tương ứng mà bạn muốn thêm. 10 giờ = 60*60*10 = 36000, vì vậy $date = date('h. i. s A', strtotime($hôm nay)+36000);

Tham số dấu thời gian tùy chọn trong hàm date() chỉ định dấu thời gian. Nếu bỏ qua, ngày và giờ hiện tại sẽ được sử dụng (như trong các ví dụ trên). Hàm PHP mktime() trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix (ngày 1 tháng 1 năm 1970 00. 00. 00 GMT) và thời gian được chỉ định

Trong PHP, có nhiều cách để tính chênh lệch giữa hai ngày tháng. Trong hướng dẫn này, chúng tôi đang sử dụng các hàm ngày giờ trong PHP để tính chênh lệch giờ giữa hai ngày. Trong ví dụ này, chúng tôi là ngày bắt đầu và ngày 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

Hàm bên dưới trả về một số năm, tháng, ngày, giờ, phút hoặc giây giữa ngày hiện tại và ngày được cung cấp. Nếu ngày xảy ra trong quá khứ (là ngày phủ định/đảo ngược), nó sẽ thêm hậu tố là 'trước'

Phương pháp 1. Sử dụng Hàm date_diff() để tìm sự khác biệt giữa hai ngày. Phương pháp 2. Để sử dụng công thức toán học ngày giờ để tìm sự khác biệt giữa hai ngày. Nó trả về năm, tháng, ngày, giờ, phút, giây giữa hai ngày được chỉ định

Giờ sáng giống nhau trong cả thời gian 12 giờ và 24 giờ. Đối với giờ PM, hãy thêm 12 vào số để chuyển đổi thành thời gian 24 giờ. Ví dụ: 1. 00 PM sẽ là 13. 00 trong thời gian 24 giờ. Xác định xem số phút lớn hơn trong thời gian bắt đầu hay thời gian kết thúc

Xem JavaScript của Bút - Nhận chênh lệch thời gian tính bằng phút giữa hai ngày-ngày-cũ-44 của w3resource (@w3resource) trên CodePen. Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus. Trước. Viết một hàm JavaScript để thêm các tháng được chỉ định vào một ngày. Kế tiếp. Viết hàm JavaScript để nhận chênh lệch thời gian tính bằng giờ giữa hai ngày

Làm cách nào để tính tổng thời gian trong php?

php $time_arr = [ '00. 12. 56', '10. 11. 12', '24. 12. 44', '50. 51. 52', '10. 10. 10' ]; . 00. 00');

Làm cách nào để tính tổng trong php?

$total = $price * $quantity; . the total is first calculated as the number of items purchased ($quantity) multiplied by the price.

Làm cách nào để tính chênh lệch giờ trong php?

$hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);

Làm cách nào để tính thời gian giữa hai lần trong php?

Bạn có thể sử dụng hàm strtotime() để lấy chênh lệch múi giờ giữa hai ngày (DateTimes) tính bằng phút bằng cách sử dụng PHP.

Làm cách nào để tính thời gian bắt đầu và thời gian kết thúc trong php?

Thời gian của đồng hồ có thể sử dụng chức năng microtime() . Lần đầu tiên sử dụng nó trước khi bắt đầu tập lệnh và sau đó ở cuối tập lệnh. Sau đó sử dụng công thức (End_time – Start_time). Hàm microtime() trả về thời gian tính bằng giây.