首页 > 解决方案 > 如何使用时刻 js 将时间格式设置为 HH:mm

问题描述

我在 React 中工作。我为获得正确的时间格式而烦恼。我从下拉列表中选择一个时间并用于moment(inputTime,HH:mm)格式化时间,但这就是我得到的。原因是什么?除了 有没有其他的方法moment(inputTime).format("HH:mm")

Moment {_isAMomentObject: true, _i: "Tue May 04 2021 03:53:21 GMT+0530 (India Standard Time)", _isUTC: false, _pf: {…}, _locale: Locale, …}
_d: Tue May 04 2021 03:53:21 GMT+0530 (India Standard Time) {}
_i: "Tue May 04 2021 03:53:21 GMT+0530 (India Standard Time)"
_isAMomentObject: true
_isUTC: false
_isValid: true
_locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: ƒ, …}
_pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -2, charsLeftOver: 0, …}
__proto__: Object

标签: javascriptreactjsmomentjstime-format

解决方案


通过使用moment(inputTime,HH:mm),您正在创建一个时刻对象。这就是您Moment {_isAMomentObject: true, ...}在将此对象打印到控制台时得到的原因。

如果您想以 format 形式拥有它"HH:mm",则意味着您希望以 sus-cited 的格式拥有矩对象的字符串表示形式。为此,正确的方法之一是format在 moment 对象上使用该方法。

var input_time = "10:46";
var date_a = moment(input_time, "HH:mm");
console.log(date_a);
>> Moment {...} // moment object
var date_a_str = date_a.format("HH:mm");
console.log(date_a_str);
>> "10:46" // string

推荐阅读