首页 > 解决方案 > 将祖鲁时间转换为 +8GMT

问题描述

所以我使用 Mongodb 将日期时间存储在一个数组中。

2021-01-16T05:00:00.000Z 我想在我的 reactJS 应用程序中将其转换为 +8GMT 时间。

我想知道是否有任何简单的方法可以做到这一点?

我试过这个

function Dateformat(props){
    var options = { year: 'numeric', month: 'long', day: 'numeric' };
    return new Date(props.timestamp).toLocaleDateString([],options);
}

但我只是让它打印与数据库中相同的时间和日期

标签: node.jsreactjsmongodb

解决方案


编辑后的答案

您可以使用日期对象下的toLocaleStringAPI 。


const TimeDisplayComponent = (props) => {

  const convertedTime = new Date(props.theTimeYouwantToConvert).toLocaleString( 'sv', { timeZoneName: 'short' } );

  return <div>{convertedTime}</div>;
}

编辑答案结束


您提供的日期是ISO-8601格式。要将其更改为 GMT+8,您可以执行

const now = new Date();
const output = new Date(
  now.getTime() + (now.getTimezoneOffset() * 60_000)
);

或者,您总是可以使用像LuxonJSDateFNS这样的日期时间库。使用库处理时间转换通常更容易,因为代码中与日期时间操作相关的问题太多(闰年、夏令时等)。


推荐阅读