如何在javascript中将时间转换为用户本地时区

如何在javascript中将时间转换为用户本地时区,javascript,reactjs,time,Javascript,Reactjs,Time,我从API获得2019-05-05T10:30:00Z类型的时间。但我需要像这样转换你的时间上午10:30下午3:30。我在客户端使用reactJs。如何将时间转换为用户当前时区?我假设API返回UTC时间。从中,我们可以在标准JavaScript可解析日期的末尾使用UTC。 当str是API中的字符串时: var date=new Datestr.substring0,10++str.substring11,19+UTC 我相信有更好的解决方案,但这会手动删除您不需要的部分。您可以访问此日期对

我从API获得2019-05-05T10:30:00Z类型的时间。但我需要像这样转换你的时间上午10:30下午3:30。我在客户端使用reactJs。如何将时间转换为用户当前时区?

我假设API返回UTC时间。从中,我们可以在标准JavaScript可解析日期的末尾使用UTC。 当str是API中的字符串时:

var date=new Datestr.substring0,10++str.substring11,19+UTC


我相信有更好的解决方案,但这会手动删除您不需要的部分。您可以访问此日期对象以提取所需内容。

我假设您的API返回UTC时间。从中,我们可以在标准JavaScript可解析日期的末尾使用UTC。 当str是API中的字符串时:

var date=new Datestr.substring0,10++str.substring11,19+UTC


我相信有更好的解决方案,但这会手动删除您不需要的部分。您可以访问此日期对象以提取所需内容。

您的API发送服务器日期时间作为响应,您只需使用下面的函数即可转换为本地时区

function convertUTCDateToLocalDate(date) {
  var dateLocal = new Date(date);
  var newDate = new Date(dateLocal.getTime() - dateLocal.getTimezoneOffset()*60*1000);
  return newDate;
}

您的API发送服务器日期时间作为响应,您只需使用下面的函数即可转换为您的本地时区

function convertUTCDateToLocalDate(date) {
  var dateLocal = new Date(date);
  var newDate = new Date(dateLocal.getTime() - dateLocal.getTimezoneOffset()*60*1000);
  return newDate;
}

看看momentjs。它具有本地化功能,您还可以进行自定义操作


看看momentjs。它具有本地化功能,您还可以进行自定义操作

const dateToTime=date=>date.tolocalesting'en-US'{ 小时:'数字', 分钟:“数字” }; const dateString=2019-05-05T10:30:00Z; const userOffset=new Date.getTimezoneOffset*60*1000; const localDate=新的日期字符串; const utcDate=new DatelocalDate.getTime+userOffset; 日志`${dateToTimeutcDate}${dateToTimelocalDate}您的时间` const dateToTime=date=>date.tolocalesting'en-US'{ 小时:'数字', 分钟:“数字” }; const dateString=2019-05-05T10:30:00Z; const userOffset=new Date.getTimezoneOffset*60*1000; const localDate=新的日期字符串; const utcDate=new DatelocalDate.getTime+userOffset;
日志`${dateToTimeutcDate}${dateToTimelocalDate}您的时间`;可能重复的可能重复的为什么推荐一个相对简单的任务的整个框架?这只是一个库,我也喜欢它,我几乎所有的项目都使用它。所以我推荐它,它有什么问题?为什么推荐一个相对简单的任务的整个框架?这只是一个库,我也喜欢它,我几乎在我所有的项目中都使用它。所以我推荐它,有什么问题吗?