obțineți numărul zilei de lună fără vineri

Trebuie să obțin numărul de zile într-o lună, dar fără, de exemplu, vineri.

$num = cal_days_in_month(CAL_GREGORIAN, $month, 2012);

Aici pot obține numărul total de zile, dar trebuie să scadă vinerea de la conte. Cum trebuie să fac?

0
i lucru se poate face orice ting folosind funcția data() dar cum? nu știu :(
adăugat autor Wp Gfx, sursa
acesta este în mod evident numărul de zile într-o lună, minus numărul de zile de vineri în luna respectivă: D
adăugat autor vmpstr, sursa

1 răspunsuri

Am găsit o funcție la îndemână aici :

function num_days ($day, $month, $year) { 
    $day_array = array("Mon" => "Monday", "Tue" => "Tuesday", "Wed" => "Wednesday", "Thu" => "Thursday", "Fri" => "Friday", "Sat" => "Saturday", "Sun" => "Sunday");

    $month_array = array(1 => "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

    /* * Check our arguments are valid. */

    /* * $day must be either a full day string or the 3 letter abbreviation. */ 
    if (!(in_array($day, $day_array) || array_key_exists($day, $day_array))) { 
        return 0; 
    }

    /* * $month must be either a full month name or its 3 letter abrreviation */ 
    if (($mth = array_search(substr($month,0,3), $month_array)) <= 0) { 
        return 0; 
    }

    /* * Now fetch the previous $day of $month+1 in $year; * this will give us the last $day of $month. */

    /* * Calculate the timestamp of the 01/$mth+1/$year. */ 

    $time = mktime(0,0,0,$mth+1,1,$year);
    $str = strtotime("last $day", $time);

    /* * Return nth day of month. */ 

    $date = date("j", $str);

    /* * If the difference between $date1 and $date2 is 28 then * there are 5 occurences of $day in $month/$year, otherwise * there are just 4. */ 

    if ($date <= 28) { 
        return 4; 
    } else { 
        return 5; 
    } 
} 

utilizare:

data ecou ('t', strtotime ("$ month 2012")) - num_days ('vineri', $ luna, 2012);

Cu condiția ca $ month să fie un nume complet al unei luni (nu un număr).

0
adăugat
mmmm puteți explica mai mult
adăugat autor Wp Gfx, sursa
utilizez această funcție și ecou această dată de ecou ('t') - num_days ('Friday, 06, 2012); ecoul său 30 eroare
adăugat autor Wp Gfx, sursa
<? PHP $ d = cal_days_in_month (CAL_GREGORIAN, 10,2005); ecou ("Au fost $ d zile în octombrie 2005"); ?> numărul zilei de întoarcere pe lună, dar am nevoie de numărul vineri pe lună
adăugat autor Wp Gfx, sursa
num_days ('vineri', lună, an) unde funcția num_days() ??
adăugat autor Wp Gfx, sursa
dar răspunsul dvs. la întoarcere 31 eroarea pe care o vom reveni 4 zile pe 06 lună
adăugat autor Wp Gfx, sursa
date ('t') returnează numărul de zile pentru luna curentă. Consultați documentația funcției date() sau folosiți cal_days_in_month() deoarece vă pare să fiți familiarizați cu aceasta.
adăugat autor Pateman, sursa
Pentru a obține numărul de vineri într-o lună, utilizați num_days ("vineri, lună, an) . Pentru a obține numărul total de zile într-o lună, utilizați cal_days_in_month (CAL_GREGORIAN, month, year) . Pentru a obține răspunsul la întrebarea dvs. utilizați cal_days_in_month (CAL_GREGORIAN, lună, an) - num_days ("vineri, lună,
adăugat autor Pateman, sursa
Ți-am dat codul în răspuns.
adăugat autor Pateman, sursa
Oh corect. Ar trebui să utilizați nume în locul valorilor numerice. Deci ar trebui să fie num_days ('Vineri', 'Iunie', 2012) .
adăugat autor Pateman, sursa
Cred că ți-am dat mai mult decât suficiente informații pentru a răspunde la întrebarea ta, @ user1433402. Vă rugăm să acceptați răspunsul.
adăugat autor Pateman, sursa
@VisioN, prea rău - l-au eliminat. Dar am gasit o solutie.
adăugat autor Pateman, sursa
@VisioN, e [email protected] :)
adăugat autor Pateman, sursa
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT