首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获得星期几和一年中的月份?

如何获得星期几和一年中的月份?
EN

Stack Overflow用户
提问于 2011-01-28 06:47:43
回答 15查看 259.1K关注 0票数 146

我对Javascript了解不多,我发现的其他问题都与日期操作有关,而不仅仅是在我需要的时候获取信息。

目标

我希望得到如下格式的日期:

于2011年1月27日星期四17:42:21发布

到目前为止,我得到了以下信息:

代码语言:javascript
复制
var now = new Date();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();

h = checkTime(h);
m = checkTime(m);
s = checkTime(s);

var prnDt = "Printed on Thursday, " + now.getDate() + " January " + now.getFullYear() + " at " + h + ":" + m + ":" s;

我现在需要知道如何获得星期几和一年中的月份(它们的名称)。

有没有一种简单的方法来实现它,或者我应该考虑使用数组,在这种数组中,我只需使用now.getMonth()now.getDay()索引到正确的值

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-01-28 06:50:20

是的,你需要数组。

代码语言:javascript
复制
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];

var day = days[ now.getDay() ];
var month = months[ now.getMonth() ];

或者,您可以使用date.js库。

编辑:

如果你打算经常使用它们,你可能想要扩展Date.prototype的可访问性。

代码语言:javascript
复制
(function() {
    var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];

    var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];

    Date.prototype.getMonthName = function() {
        return months[ this.getMonth() ];
    };
    Date.prototype.getDayName = function() {
        return days[ this.getDay() ];
    };
})();

var now = new Date();

var day = now.getDayName();
var month = now.getMonthName();
票数 271
EN

Stack Overflow用户

发布于 2018-05-11 21:17:31

使用标准的javascript Date类。不需要数组。不需要额外的库。

请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

代码语言:javascript
复制
var options = {  weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false };
var prnDt = 'Printed on ' + new Date().toLocaleTimeString('en-us', options);

console.log(prnDt);

票数 70
EN

Stack Overflow用户

发布于 2016-02-19 19:51:05

您还可以通过以下方式扩展date对象以返回Weekday:

代码语言:javascript
复制
Date.prototype.getWeekDay = function() {
    var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    return weekday[this.getDay()];
}

因此,您只能调用date.getWeekDay();

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4822852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档