2015-04-17 21 views
9

Hôm nay là thứ Sáu, ngày 17 tháng 4 năm 2015. Trong ứng dụng của tôi, nó tự động tạo "ngày hết hạn" cho mỗi bài tập. Nó được đặt thành "5 ngày làm việc". Để thực hiện việc này, chúng tôi sử dụng:Tăng thời lượng PHP theo ngày trong tuần

date('m/d/Y', strtotime("+5 weekdays")); 

Tuy nhiên, ngày nay, đầu ra này "26/26/2015". Tại sao? Đó là một chủ nhật. Tại sao nó không cho tôi 24, đó là những gì tôi muốn?

DEMO: http://codepad.org/2wvnypOC

P.S. Sau khi nói chuyện với ông chủ của tôi, chúng tôi đã chuyển sang strtotime("+5 days"), nhưng tôi vẫn tò mò có gì sai với "weekdays".

+1

phiên bản PHP? Nhìn vào bugs.php.net? "Chủ nhật" là phần gợi ý lỗi cũ .... https: //bugs.php.net/bug.php? Id = 61642 – ficuscr

+1

Phiên bản PHP 5.4.38. Suy nghĩ ban đầu của tôi là vấn đề múi giờ. –

+7

[Lỗi # 61642 \t sửa đổi ("+ 5 ngày trong tuần") trả về chủ nhật] (https://bugs.php.net/bug.php?id=61642) – salathe

Trả lời

4

Đây là số bug.

Nó đã được sửa trong> = 5.5.0.

Vì vậy, bạn sẽ cần phải khắc phục hoặc nâng cấp phiên bản php của mình.

<?php 
$today = strtotime('2015-04-17 00:00:00'); 

echo date('m/d/Y', strtotime("+5 weekdays", $today)); 
echo "\n"; 
echo phpversion(); 
?> 

Working in 5.6*

+0

Thú vị. [Evidently] (http://3v4l.org/Kjopg) nó đã được sửa trong PHP 5.5.0. – amphetamachine

Các vấn đề liên quan