我对Javascript不太了解,我发现的其他问题与日期操作有关,不仅是在需要时获取信息。
我希望获得以下格式的日期:
2011年1月27日星期四17:42:21打印
到目前为止,我得到以下信息:
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()?
now.getMonth()
now.getDay()
是的,您需要数组。
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以获得可访问性。
Date.prototype
(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();