为了账号安全,请及时绑定邮箱和手机立即绑定

返回前一天的函数

返回前一天的函数

达令说 2023-09-28 16:35:49
你能帮我解决这个问题吗?我尝试创建一个接收类型参数的函数,Date例如 12.11.2020。我希望它返回前一天。function getPreviousDay(d) {  var dateObj = new Date(d);  var previousDay = dateObj.setDate(dateObj.getDate() - 1);  return previousDay;}console.log(getPreviousDay(new Date())); //1606809601830但正如你所看到的,函数返回:1606809601830,我不知道为什么。感谢你们!
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

一个简单的 ES6 语句是:


const getPreviousDay = d => d.setDate(d.getDate() - 1) && d


console.log(getPreviousDay(new Date())); 

此函数更改您传递给它的对象的日期Date并返回它。无需创建中介。

Typescript 版本(带有类型检查,以确保您始终向其传递 Date 对象,而不是字符串):

const getPreviousDay = (d:Date): Date => d.setDate(d.getDate() - 1) && d


查看完整回答
反对 回复 2023-09-28
?
GCT1015

TA贡献1827条经验 获得超4个赞

此代码返回的结果与昨天的日期(2020 年 12 月 1 日)类似。


function getPreviousDay(d) {

  var dateObj = new Date(d);

  dateObj.setDate(dateObj.getDate()-1);

  return dateObj.getDate() + '.' + (dateObj.getMonth()+1) + '.' + dateObj.getFullYear();

}


console.log(getPreviousDay(new Date())); 


查看完整回答
反对 回复 2023-09-28
?
手掌心

TA贡献1942条经验 获得超3个赞

您不想返回Date.prototype.setDate()以毫秒为单位的日期结果,您想返回变异的dateObj


function getPreviousDay(d) {

  var dateObj = new Date(d);

  dateObj.setDate(dateObj.getDate() - 1);

  return dateObj ;

}


console.log(getPreviousDay(new Date()));





查看完整回答
反对 回复 2023-09-28
  • 3 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信