我需要更新几百个静态HTML页面,版权日期硬编码在页脚。我想用一些每年都会自动更新的JavaScript来替换它。

目前我正在使用:

<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>

就这么短了吗?


当前回答

对于React.js,下面是我在页脚工作的方法…

render() {
    const yearNow = new Date().getFullYear();
    return (
    <div className="copyright">&copy; Company 2015-{yearNow}</div>
);
}

其他回答

这里有一个最短最负责任的版本,甚至适用于AD和BC。

(滚筒滚……)

<script>document.write(Date().split` `[3])</script>

就是这样。比接受的答案短6字节。

如果你需要兼容ES5,你可以满足:

<script>document.write(Date().split(' ')[3])</script>

JS解决方案很好,但我建议使用服务器端解决方案。我检查过的一些网站有这样的问题,整个页面都是空白的,只在一段时间内看到年份。

这样做的原因是文件。写实际上写满了整个文档。

我让我的朋友实现了一个服务器端解决方案,这对他来说是有效的。 php中的简单代码

<?php echo date('Y'); ?>

享受吧!

这个答案与Ray的答案相似,但使用了模板文字和文本回退

<p>&copy;
  <span id="copyright-year">2021</span>
  Company Name
</p>

<script>
  document.getElementById("copyright-year").innerHTML = `${new Date().getFullYear()}`;
</script>

©2022公司名称

document.getElementById("copyright-year").innerText = `${new Date().getFullYear()}`;

同样适用。

对于React.js,下面是我在页脚工作的方法…

render() {
    const yearNow = new Date().getFullYear();
    return (
    <div className="copyright">&copy; Company 2015-{yearNow}</div>
);
}

公认的答案并不总是有效的

最近的一次更新导致我所有的WordPress页脚版权日期都被下推到页面末尾,而不是像以前那样内联写。我相信在其他情况下也会发生这种情况,但这只是我注意到的地方。

如果发生这种情况,你可以通过创建一个空span标签来修复它,并像这样注入你的日期:

<span id="cdate"></span><script>document.getElementById("cdate").innerHTML = (new Date().getFullYear());</script> 

或者如果你在你的网站上启用了jquery,你可以像这样简单一点:

<span id="cdate"></span><script>$("#cdate").html(new Date().getFullYear());</script> 

这与Adam Milecki的答案相似,但要简短得多