Javascript时刻HH:mm

Javascript moment HH:mm

我在这里想要的是记录将从数据库中检查,如果它在一段时间内存在,它将 return 为真,如果不存在,则为 return 假,

我认为这里的问题是 moment(startDate, 'DD/MM/YYYY hh:mm').toDate() (12hrs) 因为你可以在数据库中看到记录是(24 小时)

转换的结果是 2022 年 4 月 14 日星期四 05:43:00 GMT+0800(菲律宾标准时间)

var {  assignedTo, startDate, duration } = data
//The value of startDate is `14/04/2022 07:11 PM`
var dd_startDate = moment(startDate, 'DD/MM/YYYY hh:mm').toDate()
var end = new Date(dd_startDate);
    end = new Date(end.getTime(end.getTime() + duration));
//dd_startDate = Thu Apr 14 2022 05:43:00 GMT+0800 (Philippine Standard Time)
//end = Thu Apr 14 2022 06:43:00 GMT+0800 (Philippine Standard Time)

var hasExisting = await _data.hasExistingEvent(dd_startDate, end);
        hasExistingEvent: (startDate, end) => {
            return  new Promise((resolve, reject) => {
               .....,("SELECT  name FROM Event WHERE startDate BETWEEN '" + moment(startDate).format() + "' AND '"+ moment(end).format() + "'", 100, function(data){
                    console.log("====RESULT====: ", data)
                    return resolve(data.length ==0)
                })
            })
        },

这是数据库中的数据

我猜你用错了日期格式化程序

https://momentjs.com/docs/#/parsing/string-format/

尝试

('DD/MM/YYYY HH:mm')

来自 moments.js 文档

Input Example Description
H HH 0..23 Hours (24 hour time)
h hh 1..12 Hours (12 hour time used with a A.)

像这样用 HH 更新 hh:

moment(startDate, 'DD/MM/YYYY HH:mm').toDate() // 解析为小时 (12) 当地时间