簡體   English   中英

使用jquery以dd-mmm-yyyy格式獲取給定日期后的第一個日期和一周的最后一個日期

[英]Get First date and Last date of week after given a date in dd-mmm-yyyy format using jquery

我以dd-MMM-yyyy格式提供日期,例如2013年12月1日,我想要該周的開始日期和結束日期。

當我通過單擊按鈕更改給定日期后,如左,右箭頭所示,我想確定一周的開始和結束日期,

所以請使用Jquery幫助我

嘗試

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)

演示: 小提琴

注意:並非在所有環境中都支持日期字符串的解析,需要確認這一點。 為了更安全地解析,請使用momentjs之類的日期庫

嘗試

小提琴演示

$(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:

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" />

工作jsFiddle演示

看看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)

它可以解析各種格式的日期字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM