在页面的标题中,我想插入一个包含当前日期的 div。我不确定 jquery 是否可以处理这个(也许是 php)是一个更好的方法。
我想用格式(示例)2013 年 8 月 20 日的当前日期填充页面标题中的 div。
date()
为此,您可以简单地使用 PHP 的内置函数:
<div id="foo">
<?php echo date('dS F Y'); ?>
</div>
输出:
23rd August 2013
文档:date()
PHP(如果在 php.ini 中启用了短标签)
<div><?=date('jS F Y');?></div>
或者你可以使用 JS日期对象
例子:
<div>
<script>
var d=new Date();
document.write(d);
</script>
</div>
结果是:
Fri Aug 23 2013 20:10:30 GMT+0200 (CEST)
PHP 将是更简单、更实用的方法。
jQuery 没有任何用于格式化日期/时间的内置库。因此,它需要您使用一个外部 jQuery 插件,这会给您的网站增加更多的臃肿,或者编写几十行 vanilla JavaScript 来完成您可以在 PHP 中用一行代码真正完成的事情。
<div><?php echo date('jS F Y'); ?></div>
如前所述:jQuery 没有提供任何开箱即用的有用的与日期相关的功能,只是为了搞笑,这里有一个合适的 javascript 替代方案。
<!DOCTYPE html>
<div class="myHeader">
<div id="myDate"></div>
</div>
<script>
(function(){
var d = new Date;
var myDateFormat = d.getDate()
+ (['st','nd','rd'][(d.getDate()+'').substr(-1)-1] || 'th') + ' '
+ ['January', 'February', 'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December'
][d.getMonth()] + ' ' + d.getFullYear();
document.getElementById('myDate').innerHTML = myDateFormat;
})();
</script>
我觉得有必要打一点高尔夫球,然后把它挤成几行来与 PHP 进行比较。
还应该注意,除非您通过声明时区或应用偏移量来指定,否则 PHP 可能会打印服务器的时间。同样,javascript Date对象将返回本地机器上的时间 - 除非您通过 UTC 函数另行指定。即您希望显示谁的时间?