Javascript 将HH:mm转换为Moment.js

Javascript 将HH:mm转换为Moment.js,javascript,momentjs,Javascript,Momentjs,所以我有一些时间数据如下: 10:45 PM 11:35 PM 12:06 AM 01:34 AM 所有这些时间都在美国/洛杉矶内,并且每个时间都保证在该时区的09:00 PM之后。因此,午夜过后的时间发生在明天 是否有一种优雅的方法可以将这些时间从当前格式转换为moment.js对象,并将时间固定到适当的日期。可在moment.js文档中找到: moment('10:45 PM', 'HH:mm a') 函数getMomentFromTimeString(str){ var t=力矩(st

所以我有一些时间数据如下:

10:45 PM
11:35 PM
12:06 AM
01:34 AM
所有这些时间都在
美国/洛杉矶
内,并且每个时间都保证在该时区的
09:00 PM
之后。因此,午夜过后的时间发生在明天


是否有一种优雅的方法可以将这些时间从当前格式转换为
moment.js
对象,并将时间固定到适当的日期。

可在moment.js文档中找到:

moment('10:45 PM', 'HH:mm a')

函数getMomentFromTimeString(str){
var t=力矩(str,'HH:mm A');
//现在,t是str中给定时间的当前日期的moment.js对象
if(t.get('hour')<22)//如果是在晚上9点之前
t、 add('d',1);//添加1天,使t在同一时间成为明天的日期
返回t;
}
您可以使用
tz()
方法:

var date = moment().tz("America/Los_Angeles").startOf('day');
date.hour(22);
date.minutes(45);
然后将其转换为当地时间:

date.local().toDate();

不,这不起作用,因为“01:00 AM”的时间将映射到当前时间而不是次日。这不回答问题,因为它没有使用问题中提出的美国/洛杉矶时区。即使用户从不同的时区运行,您是否需要将这些时间表示为
美国/洛杉矶
?还是在当地时区工作就足够了?
date.local().toDate();
moment('09:00','h:mm a').format('h:mm a');