/ / कैसे सभी उपकरणों पर एक ही समय में इवेंट ट्रिगर करने के लिए समय की परवाह किए बिना - जावा, Android, कैलेंडर, समयक्षेत्र

कैसे सभी उपकरणों पर एक ही समय में घटना ट्रिगर करने के लिए समय की परवाह किए बिना - जावा, Android, कैलेंडर, समयक्षेत्र

यदि मेरा एप्लिकेशन 9pm ईएसटी पर एक ईवेंट को ट्रिगर करता है, तो उसे इस इवेंट को शाम 6 बजे पीएसटी पर भी ट्रिगर करना चाहिए।

वर्तमान में मैं एक फ़ीड पार्स कर रहा हूं और यह फ़ीड कहती है कि ईवेंट चलेगा 9 दोपहर ईएसटी। फ़ीड में बदलाव किए बिना, मेरे कोड को किसी को भी सार्वभौमिक बनाने का सबसे अच्छा तरीका क्या है जो किसी भी समयक्षेत्र में एप्लिकेशन खोलता है।

उत्तर:

जवाब के लिए 2 № 1

आप हमेशा UTC समय (अलग से संग्रहीत समय क्षेत्र के साथ) के रूप में दिनांक संग्रहीत करें। तब सभी अलार्म डिवाइस आसानी से अपने स्थानीय समय में बदल सकते हैं, और उचित समय पर अलार्म बना सकते हैं।

अलार्म जो कि सुबह 9 बजे होना चाहिए, कोई फर्क नहीं पड़ता कि समय क्षेत्र के बिना क्या समय क्षेत्र संग्रहीत है।


जवाब के लिए 2 № 2

आप डिवाइस को वर्तमान समय क्षेत्र की तरह प्राप्त कर सकते हैं:

TimeZone.getDefault()

.... और फिर डिवाइस के वर्तमान समय और फ़ीड के समय को जीएमटी में परिवर्तित करें।

यदि आप समान हैं तो अब आपको परीक्षण करना चाहिए।


जवाब के लिए 0 № 3

समयरेखा का उपयोग करके TimeToNow का उपयोग करें http://www.ocpsoft.org/prettytime/

यह आपको 4 घंटे पहले या उस क्षण के रूप में परिणाम देगा जो समय क्षेत्र कारकों को हटा देगा