2013-12-01 2 views
0

Я даю дату в формате dd-MMM-yyyy, как 01-dec-2013, и я хочу, чтобы дата начала и дата окончания неделя.Получить первую дату и последнюю дату недели после даты в формате dd-mmm-yyyy с использованием jquery

После того как я изменить данную дату на кнопку мыши, как левой и правой стрелкой я хочу прямо дату начала и окончания недели,

Поэтому, пожалуйста, помогите мне в этом, используя Jquery

+0

У вас есть пользовательский интерфейс jQuery или любой другой синтаксический анализатор даты –

+0

Последний день недели в какой стране? Или локализован в локали браузера? –

+0

Спецификация - ваш друг: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.6 – stackunderflow

ответ

0

Попробуйте

var date = new Date('03-dec-2013'); 
var day =date.getDay(); 

var start = new Date(date) 
start.setDate(start.getDate() - day) 
console.log(start) 

var end = new Date(date) 
end.setDate(end.getDate() - day + 6) 
console.log(end) 

Демо: Fiddle

Примечание: синтаксический разбор строки даты может не поддерживаться во всех окружающей среды, необходимо подтвердить это. Для более безопасного разбора использовать библиотеку даты как momentjs

+0

Привет, дорогой, Спасибо за ваш повтор, но это решение не помогает мне – user2210146

0

Попробуйте

fiddle Demo

$(function() { 
    $('#date').datepicker({ 
     dateFormat: "dd-M-yy", 
     onSelect: function (dateText, inst) { 
      var date = $(this).datepicker('getDate'); 
      startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay()); 
      endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6); 
      var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat; 
      $('#startDate').text($.datepicker.formatDate(dateFormat, startDate, inst.settings)); 
      $('#endDate').text($.datepicker.formatDate(dateFormat, endDate, inst.settings)); 

     } 
    }); 
}); 


onSelect:

0

JS

$(function() { 
    $('#anydate').datepicker({ 
     showWeek:true, 
     firstDay:0, 
     dateFormat: 'dd-M-yy', 
     onSelect: function() { 
      var d = $(this).datepicker('getDate'); 
      var tstamp = $.datepicker.formatDate('@',d); 
      var wd = d.getDay(); 
      var wkstart = new Date(); 
      wkstart.setDate(d.getDate() - wd); 
      var wkend = new Date(); 
      wkend.setDate(d.getDate() + (7 - wd)); 
      $('#weekstart').val(wkstart.toDateString()); 
      $('#weekend').val(wkend.toDateString()); 
    } 
    }); 
});  

HTML

<input type="text" class="datepicker" name="anydate" id="anydate" /> 
<input type="text" id="weekstart" /> 
<input type="text" id="weekend" /> 

Working jsFiddle Demo

0

Посмотрите на Moment.js. Он сохраняет всю эту работу, позволяя писать код, как:

moment(input).day(0); // Sunday of this week 
moment(input).day(6); // Saturday of this week 
moment(input).day(-7); // last Sunday (0 - 7) 
moment(input).day(7); // next Sunday (0 + 7) 
moment(input).day(10); // next Wednesday (3 + 7) 
moment(input).day(24); // 3 Wednesdays from now (3 + 7 + 7 + 7) 

И он может разобрать различные форматы даты строк.

Смежные вопросы