Ben son birkaç saat boyunca bu konu üzerinde okuma oldum, ve ben bunun üzerine bir kolu var, ama sanırım biraz onay istiyorum.
Situation
Ben California'da, diyelim ki, bir kullanıcı MySQL saklanır Yorum yazmak için mümkün olmak istiyorum. Daha sonra kendi zaman dilimine ayarlanabilir sonrası tarihi ile açıklamayı görüntülemek edebilmek için Teksas, diyelim ki, bir kullanıcı istiyoruz.
Proposed Solution
Storing
date_default_timezone_set('UTC');
: Tüm tarih fonksiyonları UTC zaman dilimi kullanmak, böylece uygulamanın başlangıcında aşağıdaki çalıştırın$Date = new DateTime();
UTC güncel tarih ve saat ile bir DateTime nesnesi alır.$Date->format()
MySQL datetime türü sütun eklemek için değerini almak için kullanın.
Displaying
- JavaScript, kullanıcının timezone bilgi alın ve bir çerez saklamak.
- Datetime sütun değerini almak için bir MySQL SELECT sorgusu çalıştırın.
$Date = new DateTime($row['time']);
depolanan UTC zaman bir DateTime nesne örneğini oluşturmak için.$Date->setTimezone(new DateTimeZone($userTimezone));
kullanıcının timezone için UTC zamanını ayarlamak için.$Date->format();
kullanarak ekran
Olan şeyin özü yapılacak mı? Ben daha iyi bir çözüm eksik? Yardımlarınız için teşekkürler!