如何将日期转换为时间戳,或者最好是如何在javascript中向时间戳添加n个天数

如何将日期转换为时间戳,或者最好是如何在javascript中向时间戳添加n个天数,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我正在使用javascript开发我不熟悉的firebase云函数。我需要为续订的用户添加n天 这是函数的一部分 ... var sellerRef = admin.firestore().doc('sellerProfile/'+req.query.sellerId) var seller = sellerRef.get().then(snapshot=>{ const data= snapshot.data()

我正在使用javascript开发我不熟悉的firebase云函数。我需要为续订的用户添加n天

这是函数的一部分

...
        var sellerRef = admin.firestore().doc('sellerProfile/'+req.query.sellerId)
        var seller = sellerRef.get().then(snapshot=>{
            const data= snapshot.data()
            var currentDate = data.subscriptionDeadline.toDate() 
            Date.prototype.addDays= function(d){
                this.setDate(this.getDate() + d);
                return this;
              };
            var newDate = currentDate.addDays(30);
            res.send(newDate)
        })
        sellerRef.update({
            subscriptionDeadline: Date.parse(newDate)
        })
...

在这段代码中,我得到了一个人的订阅截止日期,然后使用原型添加了30天作为订阅续订。如何将天数转换回时间戳以将新的订阅截止日期保存到firestore,或者如果我可以添加30天而不将时间戳转换为日期,则效果更好。

firestore时间戳对象不提供任何日期数学操作。如果您将时间戳转换为日期(或其他可以让您进行数学运算的内容),则转换回时间戳会更容易

const timestamp = data.subscriptionDeadline;
const date = timestamp.toDate();
const laterDate = new Date(date.getTime() + 30*60*60*1000);
const laterTimestamp = admin.firestore.Timestamp.fromDate(laterDate);

我的日志中不断出现此错误
TypeError:无法读取未定义的属性“fromDate”
可能的原因是什么?我看不出您是如何导入Admin SDK的,但您需要以某种方式使用其时间戳类型从日期创建新的时间戳对象。我所展示的对一个名为
admin
的变量的标准导入非常有用