Welcome on my blog

We use cookies to ensure you get the best experience on our website.

PHP – Obliczanie Drugiego Wtorku Miesiąca

Autor: chmajster 10.08.2023

<?php

function getSecondTuesdayOfMonth($year, $month,$daysAfter = 0) {
    $firstDay = mktime(0, 0, 0, $month, 1, $year);

    $dayOfWeek = date('w', $firstDay);

    $daysToAdd = ($dayOfWeek <= 2) ? 2 - $dayOfWeek : 9 - $dayOfWeek;

    $secondTuesday = strtotime("+$daysToAdd days", $firstDay);
    
    // Dodaj 7 dni, aby uzyskać drugi wtorek
    $secondTuesday = strtotime('+7 days', $secondTuesday);

  // Dodaj dodatkową liczbę dni
    $finalDate = strtotime("+$daysAfter days", $secondTuesday);

    return date('Y-m-d', $finalDate);
}

// Przykład użycia
$year = 2023;
$month = 8;
$secondTuesday = getSecondTuesdayOfMonth($year, $month);
echo "Drugi wtorek miesiąca $month w roku $year to: $secondTuesday";
?>

function dayOfWeek($date) {
    $dayOfWeek = date('l', strtotime($date));
    return $dayOfWeek;
}
  preg_match('/MOS(\d+)/', $element, $matches);
    
    if (isset($matches[1])) {
function isPastDate($dateString) {
    $currentTimestamp = time();
    $inputTimestamp = strtotime($dateString);

    return $inputTimestamp < $currentTimestamp;
}
$currentDate = date("Y-m-d");

if (isPastDate($date1)) {
    echo "$date1 jest datą przeszłą.\n";
} else {
    echo "$date1 nie jest datą przeszłą.\n";
}
$nextMonthTimestamp = strtotime('+1 month', $inputTimestamp);
function calculateNextMonthDay($dateString) {
    $currentTimestamp = time();
    $inputTimestamp = strtotime($dateString);

    if ($inputTimestamp < $currentTimestamp) {
        // Data jest przeszła
        $nextMonthTimestamp = strtotime('+1 month', $inputTimestamp);
        return date('d', $nextMonthTimestamp);
    } else {
        // Data jest przyszła lub dzisiejsza
        return false;
    }
}
function shiftDateByOneMonthWithSameWeekday($date) {
    $oldDate = new DateTime($date);
    $newDate = clone $oldDate;

    $newDate->modify('+1 month');

    while ($newDate->format('N') !== $oldDate->format('N')) {
        $newDate->modify('-1 day');
    }

    return $newDate->format('Y-m-d');
}
$text = "Przykładowy string";
$firstThreeLetters = substr($text, 0, 3);
echo $firstThreeLetters;  // Wyświetli: "Prz"
$timestamp = time(); // Pobranie obecnego znacznika czasu
$timestamp -= 86400; 

Sumary

function getNextMonthDate($daysAfter = 0){
	
	// $currentDate = new DateTime('2023-10-01');
	$currentDate = new DateTime(); // Current Time 
	$date = clone $currentDate;
	$date->modify('+1 month');
	//echo $date->format('Y') . "::" . $date->format('m');
	$year = $date->format('Y');
	$month = $date->format('m');
	echo getSecondTuesdayOfMonth($year,$month,$daysAfter);
}


function getSecondTuesdayOfMonth($year, $month,$daysAfter = 0) {
    $firstDay = mktime(0, 0, 0, $month, 1, $year);

    $dayOfWeek = date('w', $firstDay);

    $daysToAdd = ($dayOfWeek <= 2) ? 2 - $dayOfWeek : 9 - $dayOfWeek;

    $secondTuesday = strtotime("+$daysToAdd days", $firstDay);
    
    // Dodaj 7 dni, aby uzyskać drugi wtorek
    $secondTuesday = strtotime('+7 days', $secondTuesday);

  // Dodaj dodatkową liczbę dni
    $finalDate = strtotime("+$daysAfter days", $secondTuesday);

    return date('Y-m-d', $finalDate);
}
Tagi:
Dodaj komentarz

Search
Categories
O Blogu

Cześć Podróżniku!

Ta strona ma nie być typowym poradnikiem w IT, Głównym jej cel to zapisanie krótkich notatek, które mogą się przydać w codziennym życiu podczas korzystania/konfiguracji różnych urządzeń np. Ustawienia DHCP na Routerze Cisco, Ustawieniu Karty sieciowej na Linuxie itp.

Buy me A coffee
[Empty]

Wszelkie prawa zastrzeżone