找到时间戳最低的文件

时间:2013-07-19 18:43:26

标签: javascript

我有一个要求,只需要使用Java Script就可以完成,如果有人可以在这里提供帮助,我会很感激。

  1. 我们有10个文件进入格式为MMddyyyyHHmmss的文件夹(例如07192013114030) - MonthDayYearHourMinuteSecond
  2. 文件每天从外部系统中删除一次
  3. 当第11个文件进入时,我需要找到第一个文件中删除的文件并将其删除,以便文件的总数应始终为10(最新的10个文件)
  4. 示例示例

    07192013114030
    07202013114030
    07212013114030
    07222013114030
    07232013114030
    07242013114030
    07252013114030
    07262013114030
    07272013114030
    07282013114030
    

    当第11个文件进入07292013114030时,我希望使用Java Script找到文件07192013114030

    我可以提供任何格式的传入文件名,例如。 MM/dd/yyyy/HHmmssMM_dd_yyyy_HH_mm_ss如果有助于使用JS

    执行此操作

3 个答案:

答案 0 :(得分:1)

由于您可以使用任何格式获取日期,因此请以YYYYMMDDHHmmss格式获取日期。然后在数组中获取这些时间戳。在您的问题中没有足够的关于您的系统的信息来解释如何执行此操作,而只需循环读取时间戳并将其推入阵列的文件。

基本上,当你完成时,你应该有一个这样的数组:

dates = ['20130719114030',
         '20130720114030',
         '20130721114030',
         '20130722114030',
         '20130723114030',
         '20130724114030',
         '20130725114030',
         '20130726114030',
         '20130727114030',
         '20130728114030'];

完成后,只需对数组进行排序:

dates.sort();

日期将按照字母数字顺序排列,由于我们的日期格式,这也是按时间顺序排列的。最早的日期将是数组中的第一个,所以

dates[0] // '20130719114030'

同样,没有足够的关于你的系统的信息来解释如何删除文件,但也许你可以再次遍历文件以找到匹配的时间戳,然后删除文件。

答案 1 :(得分:0)

我对Javascript没有经验,但我的逻辑进展是:

在11个文件中,找到最低年份 如果相同 在11个文件中,找到最低的月份 [...] 一直到第二个

答案 2 :(得分:0)

将它们全部转换为日期对象,然后比较它们。您只需要对列表进行两次传递即可找到最小的日期(一个用于转换,另一个用于比较)...而不是提取每个片段并多次浏览列表。

http://www.w3schools.com/js/js_obj_date.asp