2016-05-30 10 views
0

warum tutwarum <? Php echo date ("m/d/Y" strtotime ('zweiter Mittwoch Juni 2016'))?> Ausgabe 6/15/2016 statt 6/8/2016?

<?php echo date("m/d/Y" strtotime('second Wednesday June-2016')) ?> 

Ausgabe 2016.06.15 statt 2016.06.08?

Dies ist die Arbeit um ich habe kommen mit --- nicht sehr eloquent:

<?php 
    months = array(1=>'Jan',2=>'Feb',3=>'Mar',4=>'Apr',5=>'May',6=>'Jun',7=>'Jul',8=>'Aug',9=>'Sep',10=>'Oct',11=>'Nov',12=>'Dec'); 
    $year = "2016"; 
    $month = "06"; 
    $smonth=$months[(int)$month]; 
    $tstr=$month."/01/".$year; 
    $dow=date("D",strtotime($tstr)); 
    if ($dow == "Wed") { 
     $nstr="first"; 
    } else { 
     $nstr="Second"; 
    } 
    $edate= date("m/d/Y", strtotime($nstr.' Wednesday '.$smonth.'-'.$year)); 
    echo $edate."<br>"; 
    ?> 
+0

Statt 'second' versuchen Sie es mit' 2' –

Antwort

0

Blick in die Dokumentation für die relative Datumsformate: https://secure.php.net/manual/en/datetime.formats.relative.php

Es sieht aus wie sie alle nutzen das Wort "von" zwischen dem Monat und dem Tag. Ich versuchte es auf meinem lokalen Server mit echo date("m/d/Y", strtotime('second Wednesday of June-2016')); und es funktionierte. Es sieht so aus, als ob man das "von" auslässt und unbestimmtes Verhalten verursacht.

0

Sie schrieb folgendes:

<?php echo date("m/d/Y" strtotime('second Wednesday June-2016')) ?> 

Die beiden mit ihm Probleme sind, dass es ein Komma nach "m/d/Y" sein sollte, obwohl ich, dass dieser Tippfehler übernehmen nur auf Stackoverflow war. Das andere Problem ist, dass es strtotime('second Wednesday of June 2016')

sagen sollte Das Auslassen des Wortes of kann unbekannte Ergebnisse verursachen.