簡體   English   中英

獲取哪個日期范圍是Javascript中的日期

[英]Get in which range of dates is a date in Javascript

我有一個帶有一個或多個數組的數組:

例如,使用一個數組:

var array1 = [['2','name','surname','2014-01-01']];

或不止一個(它是動態的,有時它帶有1個其他的,2個,3個,...,但始終帶有按順序'asc'排列的日期)。

var array1 = [['2','name','surname','2014-01-01'],['2','name1','surname1','2014-02-02'],['2','name2','surname2','2014-03-03'],['2','name3','surname3','2014-04-02']];

然后我有個約會:

var givenDate="2014-03-28";

我想得到給定日期在范圍內的數組。 我想要開始數組。 在這種情況下,第三個數組: ['2','name2','surname2','2014-03-03']

我不知道哪種方法最有效。

謝謝

編輯:這將返回一個與給定日期完全匹配的數組。 如果未找到完全匹配的內容,它將返回日期最接近給定日期的數組:

var array1 = [['2','name','surname','2014-01-01'],['2','name1','surname1','2014-02-02'],['2','name2','surname2','2014-03-03'],['2','name3','surname3','2014-04-02']];
var givenDate = '2014-02-12';
var key = false;
var index;
var differences = [];
for( index=0; index < array1.length; ++index ){
    if( array1[index][3] == givenDate ){
        key = index;
    }       
}
if( !key ){
    for( index=0; index < array1.length; ++index ){
        difference = givenDate.replace(/-/g, '') - array1[index][3].replace(/-/g, '')
        differences[difference] = [];
        differences[difference]['key'] = index;
    }   
}
if( key ){
    alert( 'Exact match for given date is found and holds key: ' + key );
    alert( 'Resulting array: ' + array1[key] );         
}
if( differences.length > 0 ){
    alert( 'Found a nearest key' );
    var firstKey = getFirstKey(differences);
    alert( 'Resulting Array: ' + array1[differences[firstKey]['key']] );
}
function getFirstKey( data ) {
    for (elem in data ) 
        return elem;
}

暫無
暫無

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

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