मैं सर्वर के डिफ़ॉल्ट टाइमज़ोन को कैसे परिवर्तित करूं जो date_default_timezone_set('Asia/Dubai'); के रूप में उपयोगकर्ता के स्थानीय समय में सेट है। यह दिनांक समय मान "created_date":"2020-11-11 17:20:44" है जो मुझे सर्वर से मिल रहा है। उपयोगकर्ता का स्थानीय समय प्राप्त करने के लिए मुझे नीचे क्या संशोधन जोड़ने की आवश्यकता है?

getTimeFormat(date) {
    return moment(date).format("hh:MM A");
  }
-1
Vinay N 13 नवम्बर 2020, 09:32

1 उत्तर

सबसे बढ़िया उत्तर

आपको मोमेंट टाइमज़ोन का उपयोग करना होगा।

const created_date = "2020-11-11 17:20:44";
// take the date and create a moment using its local timezone
const dubs = moment.tz(created_date, "Asia/Dubai");
// now convert to local
const local = dubs.local().format("hh:mm A");

console.log(local);
<script src="https://momentjs.com/downloads/moment.js"></script>
<script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>

साथ ही MM महीना है, मिनट नहीं, जो mm है

एक अन्य विकल्प यह होगा कि उस स्ट्रिंग को पहले स्थान पर एक उचित आईएसओ डेटाटाइम स्ट्रिंग के रूप में प्रारूपित किया जाए, इसलिए यह तब 2020-11-11T17:20:44.000+04:00 होगा (यहां +04:00 निर्दिष्ट करता है कि यह समय स्थानीय दुबई समय क्षेत्र में है, अर्थात 4 यूटीसी से कुछ घंटे पहले):

const isoDate = "2020-11-11T17:20:44.000+04:00";

const date = new Date(isoDate);
console.log(`${date.getHours()}:${date.getMinutes()}`);

तब तुम्हें क्षण की बिल्कुल भी आवश्यकता नहीं होगी।

3
Liam 13 नवम्बर 2020, 13:55