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()确实是最好的选择。看起来你真正想要的是一种找出何时开始第一个间隔的方法,这样它就会落在一刻钟。为此,您应该再次使用 Date 来获取当前时间并从下一刻钟中减去它;您可以将结果值与 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 回答