0

javascriptについていくつか質問があります。

  1. javascriptには、名前としてタイムスタンプを使用してファイル名を識別する機能がありますか?

POSIXモジュールを利用した以下のPerlコードに似ていますか?

my $filepath = sprintf("/path/to/file%s.JSON",strftime("%y%m%d",localtime));

これは単なる例です。フォーマットのファイルを探したいyy/mm/dd/hh/min

たとえば12_11_03_15:15.json、javascriptでこれを行うにはどうすればよいかという名前のファイルを見つけたいとします。

  1. 15分ごとにトリガーしてファイルを読み取る関数を作成するとします。これは、JavaScriptでどのように可能ですか?私は見ましsetInterval()たが、ブラウザがいつ起動されるかに依存するため、それは機能しません。hh:00、hh:15、hh:30、hh:45ごとに実行する関数をスケジュールすることはできますか?

事前にどうもありがとうございました。

4

1 に答える 1

2

Date クラスを使用して、現在の時刻に関する情報を取得できます。

関数を特定の時間に実行するようにスケジュールすることsetInterval()は、確かに最良の選択です。あなたが本当に探しているのは、最初のインターバルを開始するタイミングを見つけて、15 分になるようにする方法のようです。そのためには、再び Date を使用して現在の時刻を取得し、次の 15 分から減算する必要があります。結果の値を setTimeout で使用して、最初の間隔の開始時間を計ることができます。

例を次に示します: http://jsfiddle.net/GSF6C/3/

var nextQuarterHour = new Date();
nextQuarterHour.setMilliseconds(0);
nextQuarterHour.setSeconds(0);

do {
   nextQuarterHour.setMinutes(nextQuarterHour.getMinutes() + 1);
} while (nextQuarterHour.getMinutes() % 15)

var millisecondsToNextQuarterHour = nextQuarterHour.getTime() - Date.now();

document.write(millisecondsToNextQuarterHour);

setTimeout(function () {
    alert("Ding!");
    setInterval(function () { alert("Dong!"); }, 15 * 60 * 1000);
}, millisecondsToNextQuarterHour);

</p>

于 2012-11-03T20:23:37.437 に答える