React Native:我使用社区中的日期时间选择器,它将我的时间转换为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之前的函数将时间转换为用户设备时区。

if from handleChange的更新:

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

FUNCTION setByTimezone(这是typescript的代码,如果有javascript的人想使用它,请删除类型(:

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

相关内容

  • 没有找到相关文章

最新更新