Javascript 使用矩js将12小时(AM/PM)字符串转换为24日期对象

Javascript 使用矩js将12小时(AM/PM)字符串转换为24日期对象,javascript,momentjs,Javascript,Momentjs,我有一个输出,由一个时间选择器产生,给出12小时的时间格式 Eg : "1:45 AM (or) "12:15 PM" as **string** 有没有办法使用MomentJS back-to-date对象将此字符串格式解析为24小时格式?请参阅 在完整日历中,以12小时格式显示时间,如下午1:00,我使用了以下格式-timeFormat:“hh:mma”。 “timeFormat”是FullCalendar事件的属性 我们可以使用相同的格式“hh:mm A”来使用momentjs格式化d

我有一个输出,由一个时间选择器产生,给出12小时的时间格式

Eg : "1:45 AM (or) "12:15 PM" as **string**
有没有办法使用MomentJS back-to-date对象将此字符串格式解析为24小时格式?

请参阅


在完整日历中,以12小时格式显示时间,如下午1:00,我使用了以下格式-timeFormat:“hh:mma”。 “timeFormat”是FullCalendar事件的属性


我们可以使用相同的格式“hh:mm A”来使用momentjs格式化datetime对象。

我知道这个答案不是针对这个问题的(实际上是针对相反的情况),但为了完整性,如果有人(像我一样)在找它,我会把它放进去
如果您想从
24小时制
转换为
12小时制
,则可以使用以下方法

return moment("13", ["HH"]).format("hh A");
前面的代码将产生结果
1 PM

moment("145","hmm").format("HH:mm");
这将导致01:45
var today=新日期();
让选项={
小时:“两位数”,分钟:“两位数”
};  

log(today.toLocaleTimeString(“en-us”,options))使用HH:mm将12小时格式转换为24小时格式,而使用HH:mm将转换为12小时格式

moment("12:15 PM").format("HH:mm")

只是一个小小的谈话 从“下午2点”到“14点”

从“14.00”到“下午2点”


下面是如何使用时间
字符串设置
日期
对象的时间

const date=新日期('1/1/21');
常数pm='2:30 pm';
常数am='11:00 am';
常数正午='12:00 PM';
const midnight='12:00 AM';
const mergeDateTime=(日期、时间)=>{
const parsedTime=时刻(时间,['h:mm A']);
const merged=时刻(日期).set({
小时数:parsedTime.get('hours'),
分钟数:parsedTime.get('minutes')
});
返回merged.toDate();
};
const resultsList=document.querySelector(“#results”);
常量输入=[下午、上午、中午、午夜];
输入。forEach((输入)=>{
const li=document.createElement('li');
li.innerText=`${input}➡ ${mergeDateTime(日期,输入)}`;
结果列表。追加子项(li);
});

结果
您可以使用dayjs

return dayjs(date as string).format('DD/MM/YYYY HH:mm')
你将有:

03/03/2021 16:36

有关更多信息,请参阅

它是否也输出日期?不要认为你仅仅用时间就能做很多事情,因为它并不代表一个有效的日期。它只是以12小时的格式输出一个时间字符串。但这能转换成24小时格式的日期对象吗?如果我的答案有效,你能把它标记为接受吗?你的代码以AM/PM格式输出时间。OP希望将AM/PM转换为24小时,比如“01:00PM”转换为“13:00”,但我使用的是匈牙利语言环境。但我得到了相同的值,没有转换时刻(“02:15pm”,“h:mma”)。格式(“HH:mm”);//02:15您可以通过
[HH.mm]
使其更加可靠力矩(“1.12”[“HH.mm”])。格式(“HH:mm a”);=>“01:12 am”``请修复第二个代码的语法错误,它应该是'HH:mm'而不是HH.mm'
const number = moment("14.00", ["HH.mm"]).format("hh:mm a");
cosole.log(number); // "02:00 pm"
return dayjs(date as string).format('DD/MM/YYYY HH:mm')
03/03/2021 16:36