JavaScript-如何更改字符串的时间

JavaScript-如何更改字符串的时间,javascript,time,timezone,offset,Javascript,Time,Timezone,Offset,我有这样一段时间: 12:30PM 我想将其更改为小时偏移量,例如:-5,如果时间小于午夜,则应显示上一个日期,我可以这样做;但其余的我不能 有人知道怎么做吗,因为我很困惑。考虑使用 返回当前日期时间。例如:2017-01-28814:52:59+02:00 返回当前时间。下午2点54分 返回当前时间加上添加的5小时。下午7点54分 仅获取小时+分钟 timearr=time.replace("PM","").replace("AM","").replace(" Yesterday","").

我有这样一段时间:

12:30PM
我想将其更改为小时偏移量,例如:-5,如果时间小于午夜,则应显示上一个日期,我可以这样做;但其余的我不能

有人知道怎么做吗,因为我很困惑。

考虑使用

返回当前日期时间。例如:2017-01-28814:52:59+02:00

返回当前时间。下午2点54分

返回当前时间加上添加的5小时。下午7点54分

仅获取小时+分钟

timearr=time.replace("PM","").replace("AM","").replace(" Yesterday","").replace(" Tomorrow","").split(":");
小时减五

timearr[0]-=5;
看看昨天有没有

if(timearr[0]<0){ 
 timearr.push(" Yesterday");
 timearr[0]=timearr[0]%24;
}
检查经络前后

if(timearr[0]>12){ 
 timearr[1]+="PM";
 timearr[0]-=12;
}else{
  timearr[1]+="AM";
}
再次创建时间字符串:

timearr[0]+=":";
time=timearr.join("");

我不知道你到底在问什么。有关其工作原理的更多详细信息,请参阅moment.js官方文档。
timearr[0]-=5;
if(timearr[0]<0){ 
 timearr.push(" Yesterday");
 timearr[0]=timearr[0]%24;
}
if(timearr[0]>24){
timearr.push(" Tomorrow");
timearr=timearr%24;
}
if(timearr[0]>12){ 
 timearr[1]+="PM";
 timearr[0]-=12;
}else{
  timearr[1]+="AM";
}
timearr[0]+=":";
time=timearr.join("");