Tarihinden itibaren saat, gün, ay veya yıl belirli sayıda çıkarılarak

3 Cevap php

Ben basit bir beni şimdi düşülür gün belirli bir sayıda bir tarih döndüren işlevi, bu yüzden böyle bir şey oluşturmak için çalışıyorum ama ben de tarih dersleri bilmiyorum:

<?
function get_offset_hours ($hours) {
    return date ("Y-m-d H:i:s", strtotime (date ("Y-m-d H:i:s") /*and now?*/));
}

function get_offset_days ($days) {
    return date ("Y-m-d H:i:s", strtotime (date ("Y-m-d H:i:s") /*and now?*/));
}

function get_offset_months ($months) {
    return date ("Y-m-d H:i:s", strtotime (date ("Y-m-d H:i:s") /*and now?*/));
}

function get_offset_years ($years) {
    return date ("Y-m-d H:i:s", strtotime (date ("Y-m-d H:i:s") + $years));
}

print get_offset_years (-30);
?>

Is it possible to do something similar to this? this kind of function works for years, but how to do the same with other time types?

3 Cevap

Saat:

function get_offset_hours($hours)
{
    return date('Y-m-d H:i:s', time() + 3600 * $hours);
}

Bunun gibi bir şey saat ve gün (gün boyunca 86.400 kullanmak) için iyi çalışır, ancak ay ve yıl biraz yanıltıcıdır ...

Ayrıca da bu şekilde yapabilirsiniz:

$date = strtotime(date('Y-m-d H:i:s') . ' +1 day');
$date = strtotime(date('Y-m-d H:i:s') . ' +1 week');
$date = strtotime(date('Y-m-d H:i:s') . ' +2 week');
$date = strtotime(date('Y-m-d H:i:s') . ' +1 month');
$date = strtotime(date('Y-m-d H:i:s') . ' +30 days');
$date = strtotime(date('Y-m-d H:i:s') . ' +1 year');

echo(date('Y-m-d H:i:s', $date));

böyle bir şey:

function offset hours($hours) {
    return strtotime("+$hours hours");
}