PHP Geçerli gün için gün alma

6 Cevap php

Ben php güncel tarih için tarih almak istiyorum. ne ben denedim burada ...

echo $x."<br>";
echo date("D",$x)."<br>";

Fakat çıkış oldu

21-02-10
Thu

Bu doğru gün value.Why doğru tarih vererek değil, ..?

Ne gün istediğiniz haftanın herhangi bir gününde oluşturulabilir Geçerli haftanın Pazartesi için tarihtir. yani ne yaptım ben bugünün gün alarak ve (Mon, Sal .... Sun) ile karşılaştırarak ve sırasıyla kullanarak bir zaman damgası kuruyorum oldu

case "Mon":

$startdate1=date("d-m-y");
$parts = explode('-',$startdate1);
$startdate2 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+1),$parts[2]));
$startdate3 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+2),$parts[2]));
$startdate4 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+3),$parts[2]));
$startdate5 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+4),$parts[2])); 
$startdate6 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+5),$parts[2]));
$startdate7 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+6),$parts[2]));

$dates=array(1 => $startdate1,$startdate2,$startdate3,$startdate4,$startdate5,$startdate6,$startdate7);
$i=1;
while( $i <= 7 )
{
echo $dates[$i];
$i++;
}
break;

$ Tarih iade edilecek olan bugün ilgili son dizidir. Bu işlemi yapmak için herhangi bir başka daha iyi bir yöntem yoktur.

6 Cevap

I soruna neden tarih fonksiyonu yerine ('dm-y') tarih biçimini ('dm-Y'), kullanılan gidermek için ne yaptığını. Dolayısıyla strtotime biçimini kabul ve için doğru sonucu verdi

$t=date('d-m-Y');
echo date("D",strtotime($t));

ne ben denedim burada ...

echo date("D",$x)."<br>";

date, ikinci parametre olarak bir zaman damgası (int) değeri bekliyor. Sizin $x belirsiz bir tarih biçimini içeren bir dizedir. strptime veya strtotime kullanarak, ilk olarak bir zaman damgası içine tarih dönüştürmek ve doğru gün değerini elde etmek için doğru date işlevini kullanın.

Ikinci kısmı ile ilgili olarak, siz (ve olmamalıdır) doğru hesaplamak için Pazartesi günü adını kontrol, Salı vb daha verimli bir yaklaşım for example kullanıyor strtotime gerekmez almak için last Monday vb

What I want day is the date for monday for the current week which can be generated on any day of the week.

İstediğin buydu. $mday Bu haftaki Pazartesi ay günüdür. Olumlu değilse Nevermind, mktime bu hakkı idare edecek. $monday Pazartesi gece yarısı damgası vardır.

$now = getdate();
$mday = $now['mday'] - ($now['wday'] + 6) % 7;
$monday = mktime(0, 0, 0, $now['mon'], $mday, $now['year']);
echo(date('d-m-y', $monday));

Buna ne dersiniz:

//today is monday
if (1 == date('N')){
    $monday = time();
}else{
    $monday = strtotime('last Monday');
}

for ($i = 0; $i < 7; $i++){
    echo date('d-m-Y', $monday) . '<br>';
    $monday = strtotime('tomorrow', $monday);
}

Öncelikle bugün değilse, o zaman 7 tarihleri ​​yazdırmak, Pazartesi bulmak

Büyük olasılıkla damgası olarak bir dize geçiyoruz

echo $x."<br>";
echo date("D",$x)."<br>";

$x çıkarın ve çıktısı doğru gün veya değiştirin

$x = '21-02-2010';
echo date('D', strtotime($x));

Ben geçerli gün almak için bu çalıştı.

echo date('l'); // output: current day.