2014-07-21 67 views
0

我试图得到某一日期的某一日期。假设我给出A =日期(22/07/2014)和星期日作为输入,那么输出应该是关于A日期的即将到来的日期,这里的输出将是7月27日。 在此先感谢相对于给定日期得到一天的日期

编辑:合并评论试图与

dayto=7; 
var td = new Date(); 
var nextSunday= new Date(td.getFullYear(), 
          td.getMonth(), 
          td.getDate() + (dayto-td.getDay())); 

但就返回到今天的日期,如果我改变TD变量与任何其他日期,那么它不工作

+2

听起来不错,h你试过了什么吗? – RobH

+0

尝试dayto = 7; var td = new Date(); var nextSunday = new Date(td.getFullYear(),td.getMonth(),td.getDate()+(dayto-td.getDay()));但它返回相对于今天的日期,如果我改变TD变量与任何其他日期,那么它不起作用 – user3793282

+0

看看[Moment.js](http://momentjs.com/),如果你打算在你的应用中使用日期。如果它只是一件事,那么它可能是不必要的。 [本部分](http://momentjs.com/docs/#/get-set/day/)尤其可能对您有用 – SlashmanX

回答

0

这将做这项工作

<script>  
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; 
function findDayDate(date, dayInput) { 

    var d = new Date(Date.parse(date)); 
    var day = days[ d.getDay() ]; 

    while(true) { 
     if (day.toLowerCase() === dayInput.toLowerCase()) { 
      break; 
     } else { 
      d.setDate(d.getDate() + 1); 
      day = days[ d.getDay() ]; 
     } 
    } 
    return d; 
} 

document.write(findDayDate("2005-07-08", "sunday")); 

</script> 
相关问题