2013-07-19 65 views
1

我有一個需求需要通過只使用Java腳本完成,並希望如果有人可以在這裏幫助。查找具有最低時間戳的文件

  1. 我們有10個文件進入格式MMddyyyyHHmmss的文件夾(如07192013114030) - MonthDayYearHourMinuteSecond
  2. 該文件被從外部系統每天一次
  3. 下降在第11次文件進來,我需要發現這是第一個下跌的文件,並刪除它,以便這些文件的總數應始終爲10(最新10個文件)

樣品例如

07192013114030 
07202013114030 
07212013114030 
07222013114030 
07232013114030 
07242013114030 
07252013114030 
07262013114030 
07272013114030 
07282013114030 

當第11個文件進入07292013114030時,我想使用Java腳本找到文件07192013114030

我可以提供任何格式的傳入文件名,例如。 MM/dd/yyyy/HHmmss或如果這能幫助做到這一點使用JS

+2

這是服務器端代碼的工作,而不是JS。 – tymeJV

+1

ISO日期格式,或死! –

+0

這是我見過的可怕的日期格式 –

回答

1

既然你可以在任何格式的日期,讓他們在YYYYMMDDHHmmss格式。然後在數組中獲取這些時間戳。在你的問題中沒有足夠的關於你的系統的信息來解釋如何做到這一點,但只是循環拉出時間戳並將它們推入數組。

基本上,你應該有一個這樣的數組時,即可大功告成:

dates.sort(); 

日期將按照字母順序,這也恰好:

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

一旦完成,只需將數組排序由於我們的日期格式,按時間順序排列。最早日期將是數組中的第一個,所以

dates[0] // '20130719114030' 

再次,有沒有對你的系統來說明如何刪除文件的足夠信息,但也許你可以遍歷文件再次查找匹配時間戳,然後刪除該文件。

+0

感謝特拉維斯,這可能會奏效。我會照顧刪除部分,只要我能找到最早的日期。讓我試一試。 – Abhi

0

我沒有用javascript經驗,但我的邏輯順序是:

出了11個文件中,找到最低的一年 如果同一 出的11個文件中,找到最低月份 [...] 一路降到第二個

0

將它們全部轉換爲日期對象,然後將它們進行比較。你只需要進行兩次通過列表來找到最小的日期(一個轉換和一個比較)...而不是提取每個片段,並多次通過列表。

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

相關問題