Dinamik Yaratma Sonuçlar Ne Zaman Dilimi Dönüşüm kullanma

2 Cevap

Eğer doğru anlamak, dönüştürür $row["datesubmitted"] başka bir timezone aşağıda kodu.

Ben bir HTML tablosunda dinamik dönüştürülmüş $row["datesubmitted"] yazdırmak istiyorum. MySQL çekilir her satır için aşağıdaki dönüşüm uygulayabilirsiniz bir yolu var mı? Ben kullanıyorum MySQL "dt" diye bir alan olduğundan ben sadece koduna $ row ["dt"] fiş olamayacağını varsayıyorum.

Teşekkür peşin,

John

$dt = new DateTime($row["datesubmitted"], $tzFrom); 
$dt->setTimezone($tzTo); 

2 Cevap

Her satır için yeni DateTime nesneler oluşturarak kayıt döngü:

while ($row = mysql_fetch_assoc($res)) {
    $dt = new DateTime($row["datesubmitted"], $tzFrom); 
    $dt->setTimezone($tzTo);
    echo '<tr><td>'.$dt->format('Y-m-d H:i').'</td></tr>';
}

Başkalarının yardımıyla, burada çalışmak için ne var:

$tzFrom = new DateTimeZone('America/New_York'); 
$tzTo = new DateTimeZone('America/Phoenix'); 


$result = mysql_query($sqlStr);

$arr = array(); 
echo "<table class=\"samplesrec\">";
while ($row = mysql_fetch_array($result)) { 
    $dt = new DateTime($row["datesubmitted"], $tzFrom); 
    $dt->setTimezone($tzTo);
    echo '<tr>';
    echo '<td class="sitename1"><a href="http://www.'.$row["url"].'">'.$row["title"].'</a></td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td class="sitename2name">Submitted by <a href="http://www...com/sandbox/members/index.php?profile='.$row["username"].'">'.$row["username"].'</a> on '.$dt->format('l, F j, Y &\nb\sp &\nb\sp g:i a &\nb\sp &\nb\sp  \A\Z &\nb\sp \T\i\m\e').'</td>';

    echo '</tr>';
    echo '<tr>';
    echo '<td class="sitename2"><a href="http://www...com/sandbox/comments/index.php?submission='.$row["title"].'&submissionid='.$row["submissionid"].'&url='.$row["url"].'">'.$row["countComments"].' comments</a></td>';
    echo '</tr>';
    }
echo "</table>";