javascript - 在javascript Date对象中获取当前文档的最后修改日期

标签 javascript date browser

浏览器 provides a way to determine a document's last-modified date通过查看 document.lastModified。此属性由 HTTP Last-Modified header 确定,并作为字符串返回。

我的目标是将此属性转换为 Javascript Date 对象。目前我正在使用

var date = new Date(document.lastModified);

成功解析字符串。但是,我很好奇这是否适用于跨浏览器和跨语言环境。

对我来说非常有趣的是,document.lastModified 表示与给定的 HTTP Last-Modified header 相同的日期,但字符串并不相同。在我看来,浏览器解析了 Last-Modified header ,将其转换为其内部日期表示,然后将 document.lastModified 设置为基于此的字符串。如果是这种情况,document.lastModified 的格式可能会被 Javascript Date 构造函数解析,因为它们都可能使用相同的语言环境和格式规则。但我无法确定这一点。

最佳答案

你不能 var anotherDateObject = new Date(Date.parse(document.lastModified)); 仅仅因为 javascript 不会将字符串解析为日期对象,直到它包含任何分隔符(如 '/''-' 除了 空格在日期部分(时间部分对 ':' 没有问题)。Javascript 可以解析一个有效的日期字符串,其中空格作为分隔符。这里是

<html>
<body>
<script>
    var dt = document.lastModified;    
    dt = dt.replace("/", " ");
    dt = dt.replace("/", " ");
    dt = dt.replace("-", " ");
    dt = dt.replace("-", " ");
    // '/' or '-' replcae these separtors with empty space
    // Now your string can be parsed to Date Object
    var anotherDateObject = new Date(Date.parse(dt));
    alert(anotherDateObject + " -- " + anotherDateObject.getHours());        
</script>
</body>
</html>

关于javascript - 在javascript Date对象中获取当前文档的最后修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408995/

相关文章:

javascript - Ajax 成功消息

javascript - Stripe——一种使用带有 paymentIntents 的 source_transaction 进行转账的方法

java - 在 Hibernate Criteria 中将日期转换为字符串

html - 无法通过 ID 引用图像 map ?

javascript - 浏览器控制台错误不影响客户端行为

javascript - 基本路由器在 Aurelia 中不工作

javascript - 仅获取数组的一个元素及其子元素

php - 遍历日期范围内的所有月份?

java - ANDROID:在某个日期禁用 EditTexts 并在另一个日期后重新启用它们?

javascript - 如何导航到生成桌面通知的选项卡