如何在js中匹配并从timestamp数组中获取日期

时间:2016-08-26 11:35:50

标签: javascript node.js loops timestamp unix-timestamp

我在名为users的文件夹中有名为 timestamp_string 的文件夹。例如

  

folder1 = ts1_str1,   folder2 = ts2_str2,文件夹3 = ts3_str3,folder4 = ts4_str2

以及名为users的文件夹中的所有文件夹。  我想用日期和字符串搜索文件夹,你可以看到我在我的代码中使用过,即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 ???** ');
  }

});

我只需要在 matchArr 创建中提供帮助,即我应该使用什么,以便我可以获得在2016年6月26日创建并且字符串名称为str2的那些文件夹的数组。如果您有任何疑问,请告诉我?

谢谢!

1 个答案:

答案 0 :(得分: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
 }

});

现在我正在获取符合所有文件夹名称条件的那些文件夹名称数组。