Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用React JS发布日期和小时数?_Reactjs_Date - Fatal编程技术网

Reactjs 如何使用React JS发布日期和小时数?

Reactjs 如何使用React JS发布日期和小时数?,reactjs,date,Reactjs,Date,当我尝试使用React js发出post请求以进行预订时,时间减少了两个小时,而在状态下,这正是我想要的时间,同时在DB中,时间节省了两个小时。例如,我试图节省11点,而不是节省9点 这是将日期和时间传递给api调用之前的格式 const booking\u date=新日期(年、月、日、小时、分钟)您可以使用时间戳获得更准确的一致日期 const booking_date = new Date(year, month, day, hour, minute).getTime(); 然后,如果需

当我尝试使用React js发出post请求以进行预订时,时间减少了两个小时,而在状态下,这正是我想要的时间,同时在DB中,时间节省了两个小时。例如,我试图节省11点,而不是节省9点

这是将日期和时间传递给api调用之前的格式
const booking\u date=新日期(年、月、日、小时、分钟)

您可以使用时间戳获得更准确的一致日期

const booking_date = new Date(year, month, day, hour, minute).getTime();
然后,如果需要实际的日期字符串,可以使用
newdate()
将其转换回日期。这很可能是一个时区问题,因此时间戳可以缓解这一问题,同时还能让您在api调用中发送更少的数据

或者,如果需要字符串日期,可以使用:

new Date().toUTCString()
它将日期转换为UTC字符串,该字符串在全球范围内保持一致(无论您位于何处,它都会为您提供相同的值),因为它使用标准化的UTC时区

请参阅此处的更多信息: 您可以使用。如果您有一个日期字符串,然后在发送post请求之前使用moment.js转换它,或者如果您没有任何日期字符串,您只需要选择当前日期和时间,然后您就可以使用如下所示的所需格式。我建议始终在内部使用UTC,并且仅在向用户显示日期时才转换为时区

import moment from "moment";

let date = moment().format('MM-DD-YYYY hh:mm:ss')} // It will return 06-16-2020 08:54:00

听起来像是本地机器或后端应用了某些时区移动/偏移。是的,它发生在发送到后端之前,正如我在api调用期间发送的参数中看到的那样。我怎样才能修好它@这可能根本不是问题,只是同一日期的不同表示。但是你真的需要提供一个答案。是的,没有答案很难提供一个准确的答案。不过,一般来说,在处理DateTime对象时,您希望整个系统保持一致。在我工作过的应用程序(巡航行业)中,我们将所有日期时间对象视为UTC区域,这意味着没有偏移量。
togmString
已被弃用,不要使用它。您应该使用
toISOString
ToutString
直到2018年才被标准化,在旧的(或不兼容的)浏览器中解析这样的字符串可能会中断。