2015-11-09 13 views
6

Her kullanıcı için dinamik bir saat dilimi nasıl ayarlanacağını bilen var mı? Saat dilimi veritabanında saklanırsa, db'den nasıl alabilirim ve çalışma zamanına ayarlıyorum, böylece kodlarımda her zaman ayarlamam gerekmiyor mu?Yii2'de dinamik bir saat dilimi ayarlama

cevap

9

Bu örnek, saat diliminin users tablosunda timezone sütununda dize olarak saklandığı varsayılarak nasıl gerçekleştirilir. Başvurunuz config ekleyin:

'on beforeRequest' => function() {   
    $user = Yii::$app->user->identity; 
    if ($user && $user->timezone) { 
     Yii::$app->setTimeZone($user->timezone); 
    } 
}, 

Bu kod istek ve set zaman dilimi belirli bir kullanıcı bağlı önce çalışacaktır. Tabii ki onu ayrı bir sınıfa taşıyabilir ve buradan arayabilirsin.

Resmi belgeler:

+1

teşekkürler. Dünden beri anladım. Başka kullanıcılara yardımcı olacağını umarız – user2707590

+0

@ user2707590 Ayrıca bu durumda bir yanıtı da kabul edebilirsiniz. – arogachev

+1

Üzgünüm, bunu unutmuşum. işte burada .. – user2707590