我想通過在JavaScript中從特定日期減去X天來找到日期。我的JavaScript函數接受2個參數。一個是日期值,另一個是需要減去的天數。查找日期從Javascript中的特定日期減去X天數
例如,我把我的論點日期定爲2009年7月27日,我將其他論點作爲3.所以我想在2009年7月27日前3天計算日期。所以我們應該得到的結果日期是7月24日這在JavaScript中是如何實現的。謝謝你的幫助。
我想通過在JavaScript中從特定日期減去X天來找到日期。我的JavaScript函數接受2個參數。一個是日期值,另一個是需要減去的天數。查找日期從Javascript中的特定日期減去X天數
例如,我把我的論點日期定爲2009年7月27日,我將其他論點作爲3.所以我想在2009年7月27日前3天計算日期。所以我們應該得到的結果日期是7月24日這在JavaScript中是如何實現的。謝謝你的幫助。
簡單:
yourDate.setDate(yourDate.getDate() - daysToSubtract);
下面是一個例子,但是這確實毫不客氣的檢查(例如,如果您使用它在2009/7/1它會使用負一天或拋出一個錯誤的
。function subDate(o, days) {
// keep in mind, months in javascript are 0-11
return new Date(o.getFullYear(), o.getMonth(), o.getDate() - days);;
}
這是我會怎麼做。請注意,您可以簡化表達,我只是寫出來講清楚你是毫秒的一天數量乘以天數。
var newDate = new Date(yourDate.getTime() - (days * 24 * 60 * 60 * 1000));
只是另一種選擇,我寫道:
這可能是矯枉過正,如果你想要做的是一個計算的,但如果你打算做更多的日期操作,你可能會發現它很有用。
支持日期/時間格式,日期數學(加/減日期部分),日期比較,日期解析等
function date_by_subtracting_days(date, days) {
return new Date(
date.getFullYear(),
date.getMonth(),
date.getDate() - days,
date.getHours(),
date.getMinutes(),
date.getSeconds(),
date.getMilliseconds()
);
}
我在這裏發佈一個更答案,將在特定的格式返回日期。
首先,你可以得到當前的日期2013年10月如下
function Cureent_Date() {
var today_GMT = new Date();
var dd = today_GMT.getDate();
var mm = today_GMT.getMonth() + 1; //January is 0!
var yyyy = today_GMT.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
current_date = mm + '/' + dd + '/' + yyyy;
alert("current_date"+current_date);
Back_date();
}
上X天
現在回去日期基地function Back_date()
{
var back_GTM = new Date(); back_GTM.setDate(back_GTM.getDate() - 2); // 2 is your X
var b_dd = back_GTM.getDate();
var b_mm = back_GTM.getMonth()+1;
var b_yyyy = back_GTM.getFullYear();
if (b_dd < 10) {
b_dd = '0' + b_dd
}
if (b_mm < 10) {
b_mm = '0' +b_mm
}
var back_date= b_mm + '/' + b_dd + '/' + b_yyyy;
alert("back_date"+back_date);
}
所以,今天是10/08/2013
所以將返回10/06/2013
。
Check Live Demo here 希望這個回答對你有幫助。
永遠不要爲此解決方案 yourDate.setDate(yourDate.getDate() - daysToSubtract);
它的情況下,不會工作的日期是每月的1日和要刪除一些天說1
而是去下面的解決方案,將工作始終
VAR newDate =新的日期(yourDate 。getTime() - (days * 24 * 60 * 60 * 1000));
這是參照上面的回答 檢查此琴
https://jsfiddle.net/uniyalguru/azh65aa0/
function Cureent_Date() {
var today_GMT = new Date();
var dd = today_GMT.getDate();
var mm = today_GMT.getMonth() + 1; //January is 0!
var yyyy = today_GMT.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
current_date = mm + '/' + dd + '/' + yyyy;
十分感謝! – ajithmanmu 2009-07-27 12:22:44
我不認爲這將工作,除非當月的當天比你正在減去的日子多。 – tvanfosson 2009-07-27 12:27:18
...比如今天它的工作時間是-3,因爲今天是27日(在美國,但如果今天是第二天,你最終會得到新的日期爲-1,如果你嘗試設置setDate會死這個月的一天到一個負數 – tvanfosson 2009-07-27 12:34:06