सबसे पहले, आपको मूल टाइमज़ोन के साथ डेटाटाइम ऑब्जेक्ट को तुरंत चालू करना होगा। फिर, डेटाटाइम ऑब्जेक्ट के तत्काल होने के बाद, टाइमज़ोन को DateTime::setTimezone()
।
यह कोड देखें, जहां मैंने Asia/Hong_Kong
. का उपयोग किया है उदाहरण के तौर पर GMT+8 टाइमज़ोन:
$time = "2012-11-07 15:05:26"; // fetch from database
$date = new DateTime($time,new DateTimeZone('Asia/Hong_Kong'));
$date->setTimezone(new DateTimeZone('Europe/Berlin'));
echo $date->format('Y-m-d H:i:s'); // yields 2012-11-07 08:05:26
यदि सभी मूल तिथियां हमेशा GMT+8 के रूप में होती हैं, और आपका PHP एप्लिकेशन GMT+8 का भी उपयोग करने के लिए सेट है (date_default_timezone_set()
, उदाहरण के लिए), प्रारंभिक DateTimeZone
. पास करने की कोई आवश्यकता नहीं है ऑब्जेक्ट, जैसा कि नव निर्मित DateTime
. है ऑब्जेक्ट स्वचालित रूप से उस समय क्षेत्र के साथ बनाए जाएंगे।