文件:lastModifiedDate 属性

注意:此功能在Web Workers 中可用。

已弃用:此功能不再推荐。尽管一些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅此页面底部的兼容性表格 以指导您的决策。请注意,此功能可能随时停止工作。

非标准:此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。

lastModifiedDateFile 接口的只读属性,它返回文件的最后修改日期。没有已知最后修改日期的文件将返回当前日期。

一个 Date 对象,指示文件最后修改的日期和时间。

示例

js
// fileInput is a HTMLInputElement: <input type="file" multiple id="myfileinput">
const fileInput = document.getElementById("myfileinput");

for (const file of fileInput.files) {
  console.log(
    `${file.name} has a last modified date of ${file.lastModifiedDate}`,
  );
}

减少时间精度

为了防止计时攻击和指纹识别someFile.lastModifiedDate 的精度可能会根据浏览器设置进行四舍五入。在 Firefox 中,privacy.reduceTimerPrecision 首选项默认启用,默认值为 2 毫秒。您还可以启用 privacy.resistFingerprinting,在这种情况下,精度将为 100 毫秒或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds 的值(以较大者为准)。

例如,在时间精度降低的情况下,someFile.lastModifiedDate.getTime() 的结果将始终是 2 的倍数,或者在启用 privacy.resistFingerprinting 的情况下是 100(或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds)的倍数。

js
// reduced time precision (2ms) in Firefox 60
someFile.lastModifiedDate.getTime();
// Might be:
// 1519211809934
// 1519211810362
// 1519211811670
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
someFile.lastModifiedDate.getTime();
// Might be:
// 1519129853500
// 1519129858900
// 1519129864400
// …

规范

尽管此属性存在于文件 API 规范的早期草案中,但它已从规范中删除,现在是非标准的。请改用 File.lastModified

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅