Giả sử tôi có một chuỗi đến, "2007-02-28"
, mã đơn giản nhất tôi có thể viết để biến điều đó thành "2007-03-01"
là gì? Ngay bây giờ tôi chỉ sử dụng strtotime()
, sau đó thêm 24*60*60
, sau đó sử dụng date()
, nhưng chỉ cần tự hỏi liệu có cách làm sạch hơn, đơn giản hơn hoặc thông minh hơn không.Cách đơn giản nhất để tăng ngày trong PHP?
Trả lời
Một cách sạch là sử dụng strtotime()
$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);
sẽ cung cấp cho bạn 2007-03-01
Đó là sạch hơn và đơn giản hơn để thêm 86400. :)
Cách công nghệ cao là để làm:
$date = new DateTime($input_date);
$date->modify('+1 day');
echo $date->format('Y-m-d');
nhưng đó là thực sự chỉ từ xa đáng giá nếu bạn đang làm, chẳng hạn, một chuỗi của các biến đổi vào ngày, thay vì chỉ tìm kiếm ngày mai.
Bạn có thể làm việc bổ sung ngay trong strtotime, ví dụ
$today="2007-02-28";
$nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
Ồ, gọn gàng. Không biết điều đó. Nó gần giống như ngày cũ tốt :: Manip. – chaos
Một cách khác là sử dụng hàm mktime(). Đây là chức năng rất hữu ích ...
$date = "2007-02-28";
list($y,$m,$d)=explode('-',$date);
$date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));
nhưng tôi nghĩ strtotime()
là tốt hơn trong tình huống đó ...
tốt đẹp, tôi đã không nhận ra rằng mktime() sẽ tăng tháng như thế khi bạn đi qua –
Cách đơn giản nhất ...
echo date('Y-m-d',strtotime("+1 day")); //from today
HOẶC kể từ ngày quy định .. . Hel
echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28')));
$early_start_date = date2sql($_POST['early_leave_date']);
$date = new DateTime($early_start_date);
$date->modify('+1 day');
$date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']);
$date_b = new DateTime($date->format('Y-m-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']);
$interval = date_diff($date_a, $date_b);
lo bạn có thể thử dưới đây đặc biệt là nếu bạn là tiếng Pháp
$date = date('l j F Y');
#increment the date
$date2 = date('l j F Y', strtotime("+7 day"));
dịch trong tiếng Pháp bạn có thể sử dụng setlocale() chức năng hoặc chức năng dưới đây:
function fr_date($date){
$date = explode(' ', $date);
$date = str_replace('Monday','Lundi',$date);
$date = str_replace('Tuesday','Mardi',$date);
$date = str_replace('Wednesday','Mercredi',$date);
$date = str_replace('Thursday','Jeudi',$date);
$date = str_replace('Friday','Vendredi',$date);
$date = str_replace('Saturday','Samedi',$date);
$date = str_replace('Sunday','Dimanche',$date);
$date = str_replace('January','Janvier',$date);
$date = str_replace('February','Février',$date);
$date = str_replace('March','Mars',$date);
$date = str_replace('April','Avril',$date);
$date = str_replace('May','Mai',$date);
$date = str_replace('June','Juin',$date);
$date = str_replace('July','Juillet',$date);
$date = str_replace('August','Août',$date);
$date = str_replace('September','Septembre',$date);
$date = str_replace('October','Octobre',$date);
$date = str_replace('November','Novembre',$date);
$date = str_replace('December','Décembre',$date);
$date = implode(' ',$date);
return $date;
}
$your_date = strtotime("1month", strtotime(date("Y-m-d")));
$new_date = date("Y-m-d", $your_date++);
/("1month") = sẽ tăng theo tháng. // ("1 ngày") = sẽ tăng dần theo ngày. // (ngày ("Y-m-d")) = bắt đầu ngày gia tăng vào ngày hiện tại của bạn. –
Bạn nên chỉnh sửa câu trả lời của mình để bao gồm giải thích mã, thay vì có giải thích trong nhận xét. – astidham2003
- 1. Cách đơn giản nhất để giảm ngày trong Javascript là 1 ngày là gì?
- 2. cách đơn giản nhất, ngắn nhất để đếm chữ in hoa trong chuỗi bằng php?
- 3. Cách đơn giản nhất để phân tích một ngày trong Javascript
- 4. Câu hỏi đơn giản: Cách chia ngày (08-17-2011) thành tháng, ngày, năm? PHP
- 5. Cách đơn giản nhất để tạo ngày tháng là ngày đầu tiên của tháng, được đưa ra ngày khác
- 6. cách đơn giản nhất để bắt đầu một quá trình mới/thread trong PHP
- 7. đơn giản nhất cách để truy vấn XML trong Java
- 8. Mã hóa đơn giản trong PHP
- 9. Đơn giản? Tăng Kích cỡ Hộp/Hộp
- 10. (đơn giản) tăng thread_group câu hỏi
- 11. PHP: Cách đơn giản nhất để xóa thư mục (bao gồm nội dung của nó)
- 12. Số học đơn giản trong PHP
- 13. Hệ thống torrent đơn giản trong PHP?
- 14. Cách tốt nhất để phân tích ngữ pháp đơn giản?
- 15. Cách đơn giản nhất để phát mp3 từ Visual C++
- 16. Cách viết một đối tượng đơn giản trong PHP
- 17. Tính toán ngày Java đơn giản
- 18. Symfony2: Cách đơn giản nhất để có được url RESTful
- 19. Cách đơn giản nhất để sao chép int thành byte []
- 20. Cách đơn giản nhất để SSH bằng Python là gì?
- 21. Cách đơn giản nhất để tạo Google Map mashup?
- 22. Cách đơn giản nhất để xuất bản qua Zeroconf/Bonjour?
- 23. Đơn đăng ký tăng dài nhất
- 24. Phân tích ngày giờ đơn giản
- 25. PHP đơn giản lặp foreach với HTML
- 26. Đơn giản (r) ORM cho PHP
- 27. Có một `return` đơn giản trong một hàm PHP đơn giản là kết thúc hàm sớm?
- 28. Ruby - cách đơn giản nhất để đọc tệp văn bản bên trong tệp zip
- 29. Cách đơn giản để đếm các nguyên âm trong một chuỗi trong PHP?
- 30. Java đơn giản Dấu thời gian để chuyển đổi ngày
ngốc CentOS chỉ có PHP 5.1 và DateTime được giới thiệu trong 5.2. Tôi đoán cuối cùng tôi phải nâng cấp lên một gói php không chính thức centos sau đó. – davr
Er, không. Chỉ cần thêm 86400 là sự đơn giản sai. – staticsan
Bạn có thể giải thích ý bạn là gì? – chaos