new Date()返回UTC时间,而不是本地时间



我读到new Date()应该返回系统时区上的日期,但出于某种原因,我得到的是UTC时区而不是2021-05-28T04:00:00.000Z。为什么会发生这种情况,我如何在当地时区获得当前时间(与Expo一起进行React Native项目(?

试试这个:

new Date().toLocaleString()

仅限日期:

new Date().toLocaleDateString()

仅限时间:

new Date().toLocaleTimeString()

我是这样绕过它的:

const d = new Date();
const month = d.getMonth() + 1; // it returns 0 for January and 11 for December 
const day = d.getDate();
const year = d.getFullYear();
const hours = d.getHours() + 1; // for UTC+1 , 
const minutes = "0" + d.getMinutes();
const seconds = "0" + d.getSeconds();
const formattedTime = day + '.' + month + '.' + year + ', ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
console.log(formattedTIme); 
// Output: 2.12.2021, 16:47:47

我在代码中遇到了同样的问题,例如:

const c = {d1 : new Date(1672720648000)}
console.log(c.d1.toString()) //Mon Jan 02 2023 20:37:28 GMT-0800 (Pacific Standard Time)
console.log(JSON.stringify(c))//{"dd":"2023-01-03T04:37:28.000Z"}`
c.d1 = c.d1.toString() // -> You can fix this issue by storing string in your json
console.log(JSON.stringify(c))//{"d1":"Mon Jan 02 2023 20:37:28 GMT-0800 (Pacific Standard Time)"}

所以我意识到问题出在JSON.stringify的工作方式上。

问题是NOT日期反应

相关内容

  • 没有找到相关文章

最新更新