1

Java Script のみを使用して実行する必要がある要件があり、誰かがここで助けてくれれば幸いです。

  1. MMddyyyyHHmmss (例: 07192013114030) - MonthDayYearHourMinuteSecond の形式のフォルダーに 10 個のファイルが入っています。
  2. ファイルは 1 日に 1 回、外部システムから削除されます
  3. 11 番目のファイルが入ってきたら、最初にドロップされたファイルを見つけて削除し、ファイルの合計数が常に 10 (最新の 10 ファイル) になるようにする必要があります。

サンプル例

07192013114030
07202013114030
07212013114030
07222013114030
07232013114030
07242013114030
07252013114030
07262013114030
07272013114030
07282013114030

11 番目のファイルが に来たら、Java Script を使用し07292013114030てファイルを見つけたいと思います。07192013114030

着信ファイル名を任意の形式で提供できます。MM/dd/yyyy/HHmmssまたはMM_dd_yyyy_HH_mm_ssそれがJSを使用してこれを行うのに役立つ場合

4

3 に答える 3

1

日付は任意の形式で取得できるため、形式で取得しYYYYMMDDHHmmssます。次に、これらのタイムスタンプを配列で取得します。質問には、これを行う方法を説明するのに十分なシステムに関する情報がありませんが、タイムスタンプを引き出して配列にプッシュするファイルをループするだけです。

基本的に、完了したら次のような配列が必要です。

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

完了したら、配列を並べ替えるだけです。

dates.sort();

日付は英数字順に表示されますが、日付形式により時系列にもなります。最も古い日付が配列の最初の日付になるため、

dates[0] // '20130719114030'

繰り返しますが、ファイルを削除する方法を説明するには、システムに関する十分な情報がありませんが、ファイルをもう一度ループして、一致するタイムスタンプを見つけてから、ファイルを削除することができます。

于 2013-07-19T19:35:33.363 に答える
0

それらをすべて日付オブジェクトに変換してから比較します。各スニペットを抽出してリストを複数回調べるのではなく、最小の日付を見つけるためにリストを 2 回通過するだけで済みます (1 回は変換し、もう 1 回は比較します)。

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

于 2013-07-19T19:00:00.497 に答える