2012-05-29 2 views
0

근무일 (m, t, w, t 및 f)을 의미하는 열린 날까지 현재 날짜 다음 10 일간의 오픈 일 목록의 html 코드를 생성해야합니다. 다음 함수를 사용하여 프랑스어로 날짜를 변환합니다 :현재 날짜를 기준으로 한 날짜 카운터

function f_date() { 
    $temps = time(); 
    $jours = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); 
    $jours_numero = date('w', $temps); 
    $jours_complet = $jours[$jours_numero]; 
    $NumeroDuJour = date('d', $temps); 
    $mois = array(' ', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); 
    $mois_numero = date("n", $temps); 
    $mois_complet = $mois[$mois_numero]; 
    $an = date('Y', $temps); 
    $fr_temps = "$jours_complet, $NumeroDuJour $mois_complet $an"; 
    return "$fr_temps"; 
} 
echo "<br/>".f_date(); 

그리고 난 다음과 같은 결과를 생성 할 : 추가 정보가 필요한 경우

<select name="ladate"> 
    <option selected="selected" value="Mardi, 29 mai 2012">29 mai 2012</option> 
    <option value="Mercredi, 30 mai 2012">30 mai 2012</option></select> 
    .... 
    <option value="Vendredi, 15 juin 2012">15 juin 2012</option></select> 
</select> 

말해주십시오.

감사합니다.

+0

무엇이 문제입니까? 너 무슨 문제있어? –

+0

현재 날짜의 다음 10 근무일을 생성하기 위해 PHP 기능을 고려하여 사용할 PHP 코드. 문제는 서버에 PHP의 최신 버전이 없기 때문에 번역을 위해이 PHP 함수를 사용하여 HTML을 생성해야하고 진행 방법을 모른다는 것입니다 :/ – Zatla00

답변

0

루프를 만들고 최대 10 일을 늘리며 모든 비공개 일 (토, 일)을 무시하십시오. date('N')은 주어진 날짜의 평일을 감지하는 친구입니다.

<?php 
$i = $openDay = 0; 
while($openDay < 10) { 
    $i++; 
    $time = strtotime('+'.$i.' days'); 
    $day = date('N', $time); 

    if ($day == 6 or $day == 7) { // ignore Saturdays and Sundays 
    continue; 
    } 

    echo f_date($time).'<br>'; 
    $openDay++; 
} 

는 또한 매개 변수로 $temps를 사용하도록 date_f() 기능을 수정해야합니다.

<?php 
function f_date($temps = null) { 
    // $temps = time(); 
    // ... 
} 
2

MTWTF 만 찾고 다음 10 일을 원하기 때문에 다음 14 일을 찾아 주말을 무시하면 10 일이됩니다. 그것은 공휴일이나 그런 일은하지 않을 것이지만, 그렇게해야한다면 변경할 수 있습니다. 나는 당신

for ($days_to_add : 1 to 14) { 
    $new_date = date_add($days_to_add); 

    // check the day of the week 
    if (date('N', $new_date) >= 6) { 
     // ignore it, it's a weekend 
     continue; 
    } 

    // output the option tag for $new_date 
    echo "<option ... </option>" 
} 

당신은 당신이 수있는 번호를 변경하고자한다면 이것은, 10, 14 일 가정에 의존하는 모든 배열 매핑 및 텍스트 출력을 떠날거야, 여기 당신에게 의사 코드를주지 일종의 카운터를 추가하고 평일/비휴를보고있는 경우 카운터 만 증분하십시오.

+0

감사합니다. @mattedgod,하지만 귀하의 코드를 이해하지 못해 그것을 완료하는 데 충분한 지식이 없어 ...; (내가 찾은이 PHP 함수를 사용하기 때문에/ – Zatla00

+0

당신이 이해하지 못하는 부분은 무엇입니까? –

+0

출력 부분 , 나는 그 코드가 부 풀리는 것을 사용했다. – Zatla00

관련 문제