2016-08-26 6 views
0

timestamp_stringという名前のフォルダが、ユーザーという名前のフォルダにあります。例えばjsのタイムスタンプ配列から日付を照合して取得する方法

のfolder1 = ts1_str1、 フォルダ2 = ts2_str2、フォルダ3 = ts3_str3、folder4 = ts4_str2

及びこれらのユーザーという名前のフォルダ内のすべてのフォルダ。 私は自分のコード(つまり、26/8/2016とstr2)に使用しているのがわかるように、日付と文字列を使ってフォルダを検索したいのですが。私は私の解決策のために次のコードを使用しています:

var search_date = '26/8/2016'; 
var search_str = 'str2'; 

fs.readdirSync(dirpath+'/users').forEach(function (folder) { 

    var folderName1 = folder.split('_'); 

    var folderName = folderName1[0]; // 1472198068898 i.e. timestamp 

    var strName = folderName1[1]; // str1 or str2 etc. 

    var d = new Date(parseInt(folderName)); 

    if((search_date == d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear()) && (search_str == strName)) 
    { 
    matchArr.push('**what should be here so that i can create array of those folders which have date 26/8/2016 in their timestamp ???** '); 
    } 

}); 

I 26/8の上に作成されたこれらのフォルダの配列を得ることができるように私は私が何を使用する必要がありますつまり、私のmatchArr作成に助けが必要/文字列名はstr2とします。ご質問がある場合はお知らせください。

ありがとうございました!

+0

'var matchArr = [];/* ... */matchArr.push(folder) '? –

+0

はい条件に一致するフォルダ。 – Deep

+0

あなたの問題は何ですか? if条件は機能しませんか? –

答えて

1

私はそこに書いたように私の答えを得ました。

fs.readdirSync(APPDATApath+'/foldername/users/1').forEach(function (folder) { 

folderName1 = folder.split('_'); 

folderName = folderName1[0]; 

var strName = folderName1[1]; // str1 or str2 etc. 

var d = new Date(parseInt(folderName)); 

if((search_date == d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear()) && (string_name == strName)) 
{ 

    matchArr.push(folderName+'_'+strName); // this is what I am looking for 
} 

}); 

すべてのフォルダ名の条件を満たすフォルダ名の配列を取得しています。

関連する問題