Javascript 日期和时间库编译模式错误

Javascript 日期和时间库编译模式错误,javascript,node.js,aws-lambda,Javascript,Node.js,Aws Lambda,我在我的应用程序中使用公共日期和时间npm包,如下所示 var date = require('date-and-time') 接下来,我做出了这样的承诺 exports.handler = async (event)=> { var promise = new Promise(function(resolve,reject) { var pattern = date.compile("h:m:s") var now = new Date()

我在我的应用程序中使用公共日期和时间npm包,如下所示

  var date = require('date-and-time')
接下来,我做出了这样的承诺

exports.handler = async (event)=> {
    var promise = new Promise(function(resolve,reject) {
        var pattern = date.compile("h:m:s")
        var now = new Date()
        var time = date.format(now,pattern,false)
    })
   await Promise.all([promise])
}
我得到以下错误:

TypeError: formatString.replace is not a function
at Object.date.format (/var/task/node_modules/date-and-time/date-and-time.js:147:29)
at /var/task/index.js:635:25
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Promise.all (index 0)
我做错了什么

图书馆链接: 库函数如下所示:

    /**
 * formatting a date
 * @param {Date} dateObj - a Date object
 * @param {string} formatString - a format string
 * @param {boolean} [utc] - output as UTC
 * @returns {string} a formatted string
 */
date.format = function (dateObj, formatString, utc) {
    var d = date.addMinutes(dateObj, utc ? dateObj.getTimezoneOffset() : 0),
        formatter = locales[lang].formatter;

    d.utc = utc;
    return formatString.replace(/\[[^\[\]]*]|\[.*\][^\[]*\]|([A-Za-z])\1*|./g, function (token) {
        return formatter[token] ? formatter.post(formatter[token](d, formatString)) : token.replace(/\[(.*)]/, '$1');
    });
};

这与承诺无关

您的库需要一个字符串,但您传递给它一个已编译的正则表达式

不过,类似的方法应该可以奏效:

var pattern = "h:m:s"
var now = new Date()
var time = date.format(now,pattern,false)

让我试试看,虽然链接显示了使用库的正确方法是与compilewow一起使用,但它可以工作!!太奇怪了,他们的页面上有过时的文档!!显然,支持编译只在版本13中受支持,而我使用的是版本12!