Jes*_*son 83 javascript jquery
我有一个开始日历输入框和一个结束日历输入框.我们希望默认值在当前日期之前30天开始日历输入框,并且结束日历输入框为当前日期.这是我的约会对象.
var today = new Date(),
dd = today.getDate(),
mm = today.getMonth(),
yyyy = today.getFullYear(),
month = ["January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October" "November", "December"],
startdate = month[mm] + ", " + yyyy.toString();
Run Code Online (Sandbox Code Playgroud)
结束日期将是类似的var enddate = startdate - 30;
显然这不会起作用.
因此,如果当前日期是2011年12月30日,我希望开始日期为2011年12月1日.
编辑:我的问题得到了解答......有点.Date.today();
和Date.today().add(-30);
工作但我需要格式的日期January 13, 2012
.没有Fri Jan 13 2012 10:48:56 GMT -055 (EST)
.有帮助吗?
更多编辑:在撰写本文时,它是2018年.只需使用Moment.js.这是最好的.
Ror*_*san 131
试试这个
var today = new Date()
var priorDate = new Date().setDate(today.getDate()-30)
Run Code Online (Sandbox Code Playgroud)
如@Neel所述,此方法以Javascript时间戳格式返回.要将其转换回日期对象,您需要将上面的内容传递给新的Date对象; new Date(priorDate)
.
mae*_*ics 130
尝试使用优秀的Datejs JavaScript日期库(不再维护原始文件,因此您可能对这个主动维护的fork感兴趣):
Date.today().add(-30).days(); // or...
Date.today().add({days:-30});
Run Code Online (Sandbox Code Playgroud)
[编辑]
另请参阅优秀的Moment.js JavaScript日期库:
moment().subtract(30, 'days'); // or...
moment().add(-30, 'days');
Run Code Online (Sandbox Code Playgroud)
Nah*_*ahn 76
这是一个丑陋的解决方案:
var date = new Date(new Date().setDate(new Date().getDate() - 30));
Run Code Online (Sandbox Code Playgroud)
Mar*_*c B 35
startDate = new Date(today.getTime() - 30*24*60*60*1000);
Run Code Online (Sandbox Code Playgroud)
该.getTime()
方法返回一个标准的JS时间戳(自1970年1月1日以来的毫秒),您可以在其上使用常规数学运算,可以直接反馈给Date对象.
Was*_*siF 12
从今天开始接下来的 30 天
let now = new Date()
console.log('Today: ' + now.toUTCString())
let next30days = new Date(now.setDate(now.getDate() + 30))
console.log('Next 30th day: ' + next30days.toUTCString())
Run Code Online (Sandbox Code Playgroud)
今天获取过去 30 天的表格
let now = new Date()
console.log('Today: ' + now.toUTCString())
let last30days = new Date(now.setDate(now.getDate() - 30))
console.log('Last 30th day: ' + last30days.toUTCString())
Run Code Online (Sandbox Code Playgroud)
Javascript 可以在没有任何外部库的情况下处理它。
var today = new Date();
var dateLimit = new Date(new Date().setDate(today.getDate() - 30));
document.write(today + "<br/>" + dateLimit)
Run Code Online (Sandbox Code Playgroud)
简单的 1 行Vanilla Javascript代码:
const priorByDays = new Date(Date.now() - days * 24 * 60 * 60 * 1000)
Run Code Online (Sandbox Code Playgroud)
例如:
days = 7
假设当前date = Fri Sep 18 2020 01:33:26 GMT+0530
结果是: Fri Sep 11 2020 01:34:03 GMT+0530
这样做的好处是您可以操纵它以获得所需类型的结果
时间戳: Date.now() - days * 24 * 60 * 60 * 1000
ISO字符串: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString()
简单。(Using Vanilla JS)
let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000);
Run Code Online (Sandbox Code Playgroud)
ISO格式?
let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
Run Code Online (Sandbox Code Playgroud)
let today = new Date()
let last30Days = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 30)
last30Days
将在日期对象中