Đây là giải pháp rất đơn giản, qua một tuần không và trả về ngày.
Tiêu chuẩn ISO8601 cho biết tuần 1 luôn rơi vào tuần mà ngày 4 tháng 1 giảm.
Ví dụ, để có được một ngày trong tuần thứ 4 của năm:
$day_in_week = strtotime("2006-01-04 + 4 weeks"));
Sau đó, bạn có thể điều chỉnh giá trị này đến chủ nhật (như là một nơi bắt đầu, bạn có thể đảm bảo rằng bạn có thể tìm thấy):
// Find that day's day of the week (value of 0-6)
$wday = date('w', $day_in_week);
$offset = 6 - $wday; // How far it is from Sunday.
$sunday_in_week = $day_in_week - ($offset * (60 * 60 * 24)); // $offset * seconds in a day
Sau đó, bạn thêm giây trong một lần nữa để nhận thứ Hai.
$monday_in_week = $sunday_in_week + (60 * 60 * 24);
Lưu ý: Phương pháp này đôi khi có thể có một số vấn đề với thời gian tiết kiệm ánh sáng ban ngày. Tương tự, và an toàn hơn một chút giữa các thay đổi thời gian DST, phương pháp sẽ sử dụng the DateTime class. Tuy nhiên, DateTime chỉ hỗ trợ trong PHP 5.2.0 trở lên. Phương thức trên cũng hoạt động ở phiên bản cũ hơn.
Đây là giải pháp làm việc đơn giản nhất hiện nay trên cả nền tảng Linux và Windows của tôi. – Amadeus45
'ngày ('U', $ timestamp)' có thể được rút ngắn thành '$ timestamp'. – deceze
Cập nhật theo đề xuất của lừa đảo. –