Hướng dẫn php datetime subtract - php trừ ngày giờ

date_sub

[Php 5> = 5.3.0, Php 7, Php 8]

DateTime :: sub - date_sub - trừ một số ngày, tháng, năm, giờ, phút và giây từ đối tượng DateTime -- date_sub Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

Sự mô tả

Phong cách hướng đối tượng

Phong cách thủ tục

Sửa đổi đối tượng DateTime được chỉ định, bằng cách trừ đối tượng DateInterVal được chỉ định.DateInterval object.

Giống như datetimeimmutable :: sub [] nhưng hoạt động với DateTime.DateTimeImmutable::sub[] but works with DateTime.

Phiên bản thủ tục lấy đối tượng DateTime làm đối số đầu tiên của nó.DateTime object as its first argument.

Trả về giá trị

Trả về đối tượng DateTime sửa đổi cho chuỗi phương thức.DateTime object for method chaining.

Xem thêm

  • Datetimeimmutable :: sub [] - trừ một số ngày, tháng, năm, giờ, phút và giây

Tôi đã tìm kiếm một câu trả lời trong vài giờ nay, nhưng tôi không thể tìm thấy một câu trả lời.

Tôi đang viết một script đơn giản. Người dùng đặt thời gian bắt đầu và kết thúc công việc của họ. Vì vậy, ví dụ, ai đó đang làm việc từ 8:00 đến 16:00. Làm thế nào tôi có thể trừ đi thời gian này để xem người đó đã làm việc trong bao lâu?

Tôi đã thử nghiệm với strtotime[]; nhưng không thành công ...

Cyancoding

1.0181 Huy hiệu vàng14 Huy hiệu bạc33 Huy hiệu đồng1 gold badge14 silver badges33 bronze badges

hỏi ngày 28 tháng 3 năm 2011 lúc 18:42Mar 28, 2011 at 18:42

Đẹp hơn một chút như sau:

$a = new DateTime['08:00'];
$b = new DateTime['16:00'];
$interval = $a->diff[$b];

echo $interval->format["%H"];

Điều đó sẽ cung cấp cho bạn sự khác biệt trong giờ.

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 18:51Mar 28, 2011 at 18:51

Fabfabfab

1.82915 huy hiệu bạc21 Huy hiệu đồng15 silver badges21 bronze badges

1

Nếu bạn nhận được chuỗi ngày hợp lệ, bạn có thể sử dụng điều này:

$workingHours = [strtotime[$end] - strtotime[$start]] / 3600;

Điều này sẽ cho bạn hàng giờ một người đã làm việc.

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 18:47Mar 28, 2011 at 18:47

jm_toballjm_toballjm_toball

1.1977 Huy hiệu bạc10 Huy hiệu đồng7 silver badges10 bronze badges

2

Một giải pháp khác sẽ là đi qua chênh lệch giá trị số nguyên unix thời gian [tính bằng giây].


Giải pháp này sẽ là một giải pháp tốt hơn nếu ngày ban đầu của bạn được lưu trữ ở định dạng Unix-Timestamp.

N69S

13.9k3 Huy hiệu vàng18 Huy hiệu bạc33 Huy hiệu đồng3 gold badges18 silver badges33 bronze badges

Đã trả lời ngày 23 tháng 9 năm 2019 lúc 14:23Sep 23, 2019 at 14:23

1

Trừ thời gian [giờ, phút và giây] từ ngày có thể dễ dàng thực hiện bằng cách sử dụng hàm date [] và strtotime [] trong PHP. Hàm ngày [] định dạng một ngày và giờ cục bộ và trả về một chuỗi được định dạng. Mặt khác, hàm strtotime [] chuyển đổi chuỗi được định dạng DateTime thành Unix Timestamp. Bạn có thể sử dụng hai chức năng này với nhau để trừ thời gian hình thành ngày hiện tại bằng PHP.

Mã ví dụ sau đây giúp bạn trừ thời gian từ DateTime hiện tại hoặc thời gian ngày cụ thể.

Trừ các giờ từ DateTime Sử dụng đoạn mã sau để trừ 2 giờ kể từ ngày và giờ hiện tại bằng PHP.
Use the following code snippet to subtract 2 hours from current date and time using PHP.

// Current date and time
$datetime date["Y-m-d H:i:s"];// Convert datetime to Unix timestamp
$timestamp strtotime[$datetime];// Subtract time from datetime
$time $timestamp - [60 60];// Date and time after subtraction
$datetime date["Y-m-d H:i:s"$time];

Trừ các phút từ DateTime Sử dụng đoạn mã sau để trừ 5 phút kể từ ngày và giờ hiện tại bằng PHP.
Use the following code snippet to subtract 5 minutes from current date and time using PHP.

// Current date and time
$datetime date["Y-m-d H:i:s"];// Convert datetime to Unix timestamp
$timestamp strtotime[$datetime];// Subtract time from datetime
$time $timestamp - [60];// Date and time after subtraction
$datetime date["Y-m-d H:i:s"$time];

Trừ vài giây từ DateTime Sử dụng đoạn mã sau để trừ 30 giây kể từ ngày và giờ hiện tại bằng PHP.
Use the following code snippet to subtract 30 seconds from current date and time using PHP.

Bài Viết Liên Quan

Chủ Đề