文件:lastModifiedDate 属性

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

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

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

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

示例

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

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

时间精度降低

为了防止时序攻击和指纹识别someFile.lastModifiedDate 的精度可能会根据浏览器设置进行舍入。在 Firefox 中,privacy.reduceTimerPrecision 首选项默认启用,默认为 2ms。您还可以启用 privacy.resistFingerprinting,在这种情况下,精度将为 100ms 或 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
// …

规范

尽管在 File API 规范的早期草案中存在,但此属性已被移除,现已不再是标准。请改用 File.lastModified

浏览器兼容性

另见