使用moment js将12小时(AM/PM)字符串转换为24日期对象
Convert 12 hour (AM/PM) string to 24 Date object using moment js
我有一个时间选择器的输出,它给出了12小时的时间格式。
Eg : "1:45 AM (or) "12:15 PM" as **string**
有没有一种方法可以使用moment js的最新对象将这个字符串格式解析为24小时?
请参阅js parse
函数的文档
JSFiddle
var dt = moment("12:15 AM", ["h:mm A"]).format("HH:mm");
我知道这个答案不适合这个问题(实际上是相反的情况),但我会把它放在完整性上,如果有人(像我一样)在寻找它。
如果您想从24 Hour system
转换为12 Hour system
,则可以使用以下
return moment("13", ["HH"]).format("hh A");
前一个代码将产生结果1 PM
只是一个简短的对话";下午2点";至";14.00〃
const number = moment("02:00 PM", ["h:mm A"]).format("HH:mm");
console.log(number); // Output = "14.00"
";14.00〃;至";下午2点"
const number = moment("14.00", ["HH:mm"]).format("hh:mm a");
console.log(number); // Output = "02:00 pm"
var today = new Date();
let options = {
hour: "2-digit", minute: "2-digit"
};
console.log(today.toLocaleTimeString("en-us", options));
在全日历中,为了以12小时的格式显示时间,如01:00 PM,我使用了以下格式-时间格式:'hh:mm A'。"timeFormat"是fullcalender事件的属性。
与我们可以使用momentjs格式化日期时间对象的格式"hh:mm A"相同。
moment("145","hmm").format("HH:mm");
这将导致01:45
使用HH:mm将12小时格式转换为24小时,而使用HH:mm将转换12小时格式
moment("12:15 PM").format("HH:mm")
将时间表示为HH将提供24小时格式,HH将提供12小时格式。
您也可以在文档中找到它:https://momentjs.com/docs/#/parsing/string-格式/
H, HH 24 hour time
h, or hh 12 hour time (use in conjunction with a or A)
以下是如何使用时间String
设置Date
对象的时间。
const date = new Date('1/1/21');
const pm = '2:30 PM';
const am = '11:00 AM';
const noon = '12:00 PM';
const midnight = '12:00 AM';
const mergeDateTime = (date, time) => {
const parsedTime = moment(time, ['h:mm A']);
const merged = moment(date).set({
hours: parsedTime.get('hours'),
minutes: parsedTime.get('minutes')
});
return merged.toDate();
};
const resultsList = document.querySelector('#results');
const inputs = [pm, am, noon, midnight];
inputs.forEach((input) => {
const li = document.createElement('li');
li.innerText = `${input} ➡ ${mergeDateTime(date, input)}`;
resultsList.appendChild(li);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<h3>Results</h3>
<ul id=results />
您可以使用dayjs
return dayjs(date as string).format('DD/MM/YYYY HH:mm')
您将拥有:
03/03/2021 16:36
有关详细信息,请参阅https://day.js.org/docs/en/display/format
相关文章:
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 将JSON插入MongoDB中,自动转换字符串中的日期
- 以点表示法转换字符串以获取对象引用
- 在 JavaScript 中转换字符串 11/28/2014 11:00 AM 到现在
- 为什么在主干的字符串数组中转换字符串数组
- 如何简单地转换字符串
- AngularJS如何转换字符串“;yyyyMMdd”;迄今为止
- 如何防止htmlspecialchar(PHP)转换字符串中的整数
- 刷新Aurelia中的i18n转换字符串插值
- 发布时禁用转换字符串
- 转换字符串货币
- 在javascript ajax调用中转换字符串到数组
- 转换字符串包含时间到24小时的时间,我可以做数学与- jQuery
- IE javascript引擎在转换字符串到日期时呈现NaN
- 如何转换字符串“a,b,c,d……”成a.b (c, d . .);来执行
- 如何在javascript中转换字符串到日期格式
- 如何在嵌套数组中转换字符串数组
- 在javascript中转换字符串日期
- 转换字符串在印度格式的javascript
- Javascript转换字符串到数组的对象