我想從dd/mm/yy格式的日期選擇器提交的任何日期起60天后以dd/mm/Y格式查找日期。 我試過尋找它,但我得到的是從今天的日期起60天! 請幫忙!!!如何找到日期在60天后在JavaScript中形成一個特定的日期?
0
A
回答
0
這裏有三個不同的子問題。首先,將dd/mm/yy格式的輸入以 解析爲適合進行日期算術的對象。 做+60天算術。以dd/mm/Y格式格式化結果。
在我看來,Javascript有一個Date對象,可以用來做簡單的 算術。添加60天的日期是 容易,因爲
givenDate.setDate(givenDate.getDate() + 60)
的的setDate方法負責超出範圍的數值,請參閱
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate
爲了解析您可以提取年,月,日從在 串的DD/MM/YY格式(基本上使用字符串split()方法,和 供給三個值Date構造,如在
new Date(year, month, day)
至於格式設置,可以使用Date對象獲取器函數在您的字符串上構建 。見
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
全碼:
function parse(dateStr) {
var parts = dateStr.split('/').map(function (digits) {
// Beware of leading zeroes...
return parseInt(digits, 10);
});
return new Date(1900 + parts[2], parts[1], parts[0]);
}
function format(date) {
var parts = [
date.getDate(),
date.getMonth(),
date.getYear() + 1900
];
if (parts[0] < 10) {
parts[0] = '0' + parts[0];
}
if (parts[1] < 10) {
parts[1] = '0' + parts[1];
}
return parts.join('/');
}
function add(date, days) {
date.setDate(date.getDate() + days);
return date;
}
console.log(format(add(parse('11/06/83'), 60)));
// Outputs: 09/08/1983
0
如果要排除週末,使用以下:
var startDate = "9-DEC-2011";
startDate = new Date(startDate.replace(/-/g, "/"));
var endDate = "", noOfDaysToAdd = 13, count = 0;
while(count < noOfDaysToAdd){
endDate = new Date(startDate.setDate(startDate.getDate() + 1));
if(endDate.getDay() != 0 && endDate.getDay() != 6){
//Date.getDay() gives weekday starting from 0(Sunday) to 6(Saturday)
count++;
}
}
// above code excludes weekends.
alert(endDate);//You can format this date as per your requirement
您可以參考以下問題爲同:
Add no. of days in a date to get next date(excluding weekends)
如果你想包括週末,使用以下內容:
var date = new Date();
date.setDate(date.getDate() + 32);
// output will be Tue Jan 21 2014 15:55:56 GMT+0530 (India Standard Time)
0
使用JavaScript日期對象的簡單的版本:
function toTheFuture(date, days){
var split = userInput.split("/"),
//Split up the date and then process it into a Date object
userDate = new Date(+split[2]+2000, +split[1]-1, +split[0]);
//Add your days!
userDate.setDate(userDate.getDate() + days);
//Return your new dd/mm/yyyy formatted string!
return addZero(userDate.getDate())+"/"+addZero(userDate.getMonth()+1)+"/"+userDate.getFullYear()
}
//Ensures that if getDate() returns 8 for example, we still get it to output 08
function addZero(num){
if(num<10){
num = "0"+num;
}
return ""+num;
}
toTheFuture("09/05/13", 60);
//Will return 08/07/2013
的javascript日期對象是稍微煩人使用比大多數想,有相當多的庫(例如MomentJS),它可以簡化它的工作,就像你期望的一樣
相關問題
- 1. 如何在sql中預覽日期 - 60天的特定日期格式?
- 2. Excel - 查找特定日期後特定日期的日期
- 3. 獲取日期爲特定日期是當天的日期後
- 4. 如何在jsp中指定日期在60天內?
- 5. 如何在3天后查找日期
- 6. 如何使用java在特定日期後發現某個特定日期的下一個日期?
- 7. 如何找到天的兩個日期
- 8. 如何在Perl中找到比給定日期早三天的日期?
- 9. 從給定的日期找到一天
- 10. 在SQL oracle中查找某個給定日期後的特定日期。
- 11. 如何在javascript中查找特定日期格式的日期差異?
- 12. 在特定日期計算一天
- 13. 查找日期從Javascript中的特定日期減去X天數
- 14. 如何獲得特定一週中特定日期的日期
- 15. Javascript新日期減少日期一天
- 16. 試圖得到一個星期的第一天和最後一天的日期,給定一個任務。日期
- 17. 如何在excel中找到一個日期或後續日期VBA
- 18. 在特定日期後尋找新值
- 19. 如何在兩個日期範圍中找到常見日期/天數
- 20. 在兩個日期之間的特定日期的查找日期PHP
- 21. 拉一天中某一天的特定日期的所有日期 - Java
- 22. 找到特定日期的星期幾
- 23. 如何僅在HTML中顯示日期到今天的日期?
- 24. 在日期中設置特定日期
- 25. 如何在Javascript中將日期前移到指定日期?
- 26. REGEX:如何在特定關鍵字後找到日期格式?
- 27. SQL Server的日期表:編程找到的最後一個星期日在一個特定的月份
- 28. 如何僅獲取星期一在兩個給定日期之間的月份的最後一天的日期
- 29. 如何找到今天的日期和日期從一個數據幀
- 30. 查找日期排列特定日期
嗯..我非常新的JavaScript。 其實我正在使用PHP,但我需要一個JavaScript代碼來做到這一點,並自動更改文本框的值。所以我試着用date()做一些基本的事情,但沒有結果! – Genius