[英]How to convert GMT time using new Date() to AM/PM in react-native?
我正在一個 react-native 項目中工作並使用 moment 庫。 我在將時間(格林威治標准時間 5:30 IST)轉換為 AM/PM 時遇到問題。 它增加了當地當前時間 5:30 小時。 例如。 從數據庫時間下午 3:00 開始。 從 new Date() => 傳遞后,時間將轉換為Wed Jun 23 2021 15:00:00 GMT+0530
(印度標准時間)以及我需要的字段。 當我需要時再次將此格林威治標准時間轉換為上午/下午時。 它顯示 8:30PM 而不是 3:00PM。
這是代碼:
var scheduledDeparture = Wed Jun 23 2021 15:00:00 GMT+0530 (India Standard Time)
scheduledDeparture_Time: new Date(ScheduledDeparture),
let finalTime = moment.utc(leavedata.scheduledDeparture_Time).format('hh:mm a').replace(/GMT.*/g,"")
console.log("finalTime ",finalTime). // 08:30PM
為什么 GMT 時間在當前時間增加 5:30 以及如何克服它?
您需要包含moment-timezone
,然后您可以使用utcOffset
方法執行以下操作
let str = '2021-06-23T15:40+01:00';
let date = moment(str).utcOffset(str)
console.log(date.format('DD/MM/YYYY HH:mm'))
如果您正在使用Date
對象,則可以執行以下操作:
let scheduledDeparture_Time = new Date()
console.log(scheduledDeparture_Time.toString(), scheduledDeparture_Time.toGMTString())
let dt2 = moment(scheduledDeparture_Time)
console.log(dt2.format('DD/MM/YYYY HH:mm'))
如果您有指定的字符串,並且無論時區如何都需要保留時間,那么只需使用substring
然后應用moment
let scheduledDeparture ='Wed Jun 23 2021 15:00:00 GMT+0530 (India Standard Time)'
let scheduledDeparture_Time = new Date(scheduledDeparture.substring(0, 24))
let dt2 = moment(scheduledDeparture_Time)
console.log(dt2.format('DD/MM/YYYY HH:mm'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.