簡體   English   中英

React Native:我正在使用社區的日期時間選擇器,它將我的時間轉換為 GMT+0

[英]React Native: I am using date time picker from community and it is converting my time to GMT+0

我在 GMT+3 時使用 @react-native-community/datetimepicker。 它會自動將我的日期轉換為 GMT+0。 您可以在下面查看我的代碼。 現在有人為什么要轉換? 謝謝!

日期時間選擇器

 <DateTimePicker
   testID="dateTimePicker"
   value={data[name]} // value={new Date()}
   mode={type} // mode="time"
   is24Hour={true}
   display="spinner"
   onChange={handleChange}
   minimumDate={type === "date" ? new Date() : undefined}
 />

手柄變更功能

const handleChange = (event: any, selectedDate: Date) => {
setShow(false)

console.log(selectedDate) // returns the selected date - 3 hours

if (selectedDate) {
  setDate(formatDate(selectedDate, type))
  setData({ ...data, [name]: selectedDate })
}

}

我修好了它。 我使用 setDate 之前的函數將時間轉換為用戶設備時區。

更新來自 handleChange 的 if:

  setByTimezone(selectedDate)      
  setDate(formatDate(selectedDate, type))    
  setData({ ...data, [name]: selectedDate })

FUNCTION setByTimezone(這是打字稿的代碼,如果有javascript的人想使用它,請刪除類型):

const setByTimezone = (time: Date): void => {
  const date: Date = new Date()
  const difference: number = -date.getTimezoneOffset() / 60

  time.setHours(time.getHours() + difference)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM