如何使用jQuery以下面的格式显示日期。
Thursday, January 08, 2013
我看到了一些插件,但想知道是否有一种方法没有使用任何插件。
请告知使用JavaScript是否有直接的答案,也没关系。
答案 0 :(得分:3)
最简单的答案是使用:
date.toLocaleDateString()
但是,它将使用用户系统定义的语言环境。适合您所需输出的美式/英式语言环境。 (我不确定其他语言环境以及它们如何格式化日期)。
因此,如果您希望日期字符串始终采用该格式,那么这对您来说不是最好的答案。但是,如果您希望日期与用户的区域设置匹配,则此答案是最简单且最正确的。 :)
var date = new Date();
console.log(date.toLocaleDateString()); // Tuesday, January 08, 2013 (on my machine)
编辑 - 如果您要问如何更改日历,以便今天是星期四而不是星期二,您可能需要与凯撒讨论调整日历重新排列的问题。为此,您需要一台时间机器。我建议你找博士,但他可能不会愿意不顾一切地改变历史。
答案 1 :(得分:2)
以下是您要求的快速/简单示例:
编辑 - 我已更新代码以供重复使用,并包含第0天填充更改。
var d = new Date();
console.log(formatDate(d));
function formatDate(d){
var months = ["Januaray", "February", "March"]; //you would need to include the rest
var days = ["Sunday", "Monday", "Tuesday"];//you would need to include the rest
return days[d.getDay()] + ", " + months[d.getMonth()] + " " + (d.getDate() < 10 ? "0" + d.getDate() : d.getDate()) + ", " + d.getFullYear();
}
今天的输出:Tuesday, Januaray 08, 2013
答案 2 :(得分:1)
答案 3 :(得分:0)
日期方法允许您将日期和时间的所有不同部分检索为数值。如果是一年中的某个月和一周中的某天,则提供的数字比您通常预期的少一个。这样做的原因是这些值的最常见用途是使用它从数组中查找月份或日期的名称,并且JavaScript中的数组从零开始编号,提供这样的数字可以减少代码量需要进行名称查找。
我们可以更好地使用检索到的值进行此查找。我们可以做的是向Date对象添加额外的方法,以便我们只要想要检索有关日期的任何其他信息的完全相同的方式,就可以检索月份和日期名称。
JavaScript语言本身未构建以下方法的可能原因是它们依赖于语言,需要根据您要显示月份和日期的语言将不同的值替换为代码。向您展示如何编码的目的我将使用Emglish名称来表示月份和日期。如果您想以其他语言显示日期,则需要将该语言的名称替换为其英语版本。
我们要做的是将getMonthName()和getDayName()方法添加到我们所有日期,以便我们可以通过直接调用这些新方法获取月份名称或日期名称,而不必调用getMonth()或getDay()然后执行相应名称的数组查找。我们实际在做的是在新方法中构建必需的数组查找,这样我们就可以通过调用适当的方法自动获取任何日期对象的正确名称。
我们不需要这么多代码就可以做到这一点。要将getMonthName()和getDayName()方法添加到您使用的所有日期对象,您需要做的就是将以下简短代码添加到附加到页面头部的javaScript代码的最顶层。然后,日期对象的任何后续处理都将能够使用这些方法。
Date.prototype.getMonthName = function() {
var m = ['January','February','March','April','May','June','July',
'August','September','October','November','December'];
return m[this.getMonth()];
}
Date.prototype.getDayName = function() {
var d = ['Sunday','Monday','Tuesday','Wednesday',
'Thursday','Friday','Saturday'];
return d[this.getDay()];
}
现在有了这个,我们可以使用除现有方法之外的新方法在页面上显示今天的日期。例如,我们可能会使用以下内容来获取完整日期并使用警报显示它:
var today = new Date;
alert((today.getDayName() + ', ' + today.getDate() + ' ' + today.getMonthName() + ', ' + today.getFullYear());
或者,我们可以直接检索当月6月和星期日星期日并使用它们,但我们想要与日期的任何其他部分相同。
function disp() {
var today = new Date;
document.getElementById('mth').innerHTML = today.getMonthName();
document.getElementById('dow').innerHTML = today.getDayName();
}