Javascript React.js日期选择器在时区之间转换

Javascript React.js日期选择器在时区之间转换,javascript,sql-server,reactjs,datepicker,date-fns,Javascript,Sql Server,Reactjs,Datepicker,Date Fns,我和date fns和react date Picker一起工作。我在将日期保存到SQL Server数据库时遇到问题,因为它总是落后一天。我假设它正在保存UTC时间戳,但我想在我的区域设置时区中显示日期,即新西兰时间。我已经尝试将区域设置enNZ传递给datepicker和date fns format()和parseISO(),但仍然不起作用。datepicker选择正确的日期,但在我将记录创建到数据库时,它会保存上一个日期 任何帮助都将不胜感激 //表组件 如果(列=='DateSeld

我和date fns和react date Picker一起工作。我在将日期保存到SQL Server数据库时遇到问题,因为它总是落后一天。我假设它正在保存UTC时间戳,但我想在我的区域设置时区中显示日期,即新西兰时间。我已经尝试将区域设置enNZ传递给datepicker和date fns format()和parseISO(),但仍然不起作用。datepicker选择正确的日期,但在我将记录创建到数据库时,它会保存上一个日期

任何帮助都将不胜感激

//表组件
如果(列=='DateSeld'){
返回({格式(新日期(项目[col]),'dd/MM/yyyy',nz)})
}
//我也试过这个
格式(新西兰'dd/MM/yyyy'(项目[col]).getTime())
//销售部分
从'date fns/locale/en nz'导入新西兰;
导出默认类销售扩展组件{
建造师(道具){
超级(道具);
此.state={
DateSelled:this.props.data?parseISO((this.props.data.dateSelled),'dd/MM/yyyy',新西兰):新日期()
}
}   
handleDate=(日期)=>{
this.setState({datesell:date})
console.log(this.state.datesell);
}       
render(){
返回(
)
}

看起来有
registerLocale()
要做


另外,您的应用程序可能不需要它,但我更喜欢在数据库中保存UTC时间戳,而不是本地化的时间戳。

您好。我已经尝试了registerLocale(),但仍然存在相同的问题。它将日期存储到前一天,即使在datepicker上选择了正确的日期
//Table Component

if (col === 'dateSold') {
    return (<td key={col}>{format(new Date(item[col]), 'dd/MM/yyyy', nz)}</td>)
}

//i have also tried this
format(parseISO(item[col]).getTime(), 'dd/MM/yyyy', nz)


//Sales Component

import nz from 'date-fns/locale/en-NZ';

export default class Sales extends Component {
    constructor(props) {
        super(props);
        this.state = {
                dateSold: this.props.data ? parseISO((this.props.data.dateSold), 'dd/MM/yyyy', nz) : new Date()
            }
    }   
        
    handleDate = (date) => {
        this.setState({ dateSold: date })
        console.log(this.state.dateSold);
    }       
        
    render() {
        return (
            <>  
            <DatePicker
                locale={nz}
                selected={this.state.dateSold}
                onChange={this.handleDate}
                dateFormat="dd/MM/yyyy"
                name="dateSold"
            />
            </>
        )
    }