2013-10-11 37 views
2

我希望以大写形式获取JavaScript中的月份名称。我如何使用JavaScript获取当前月份的首字母大写名称

我知道我可以使用getMonth()方法获取当前月份并使用数字从数组中提取大写的月份名称,但是是否有内置方法可以执行相同操作?

+0

'无功即monthNames = “一月”, “二月”, “三月”, “四月”, “五一”, “六一”, “七月”, “八月”,“九月”,“十月”,“十一月”,“十二月”]; document.write(“当前月份是”+ monthNames [d.getMonth()]);'当然,您可以在数组中使用月份或使用toUpperCase函数。 (我知道使用数组,但它的简单) – Trevor

+1

这是如何工作:http://stackoverflow.com/questions/1643320/get-month-name-from-date-using-javascript - 从底部帖子:http:/ /jsfiddle.net/dstorey/Xgerq/ – tymeJV

+0

“,但有没有一个内置的方法来做同样的事情......简单的答案,不。而语法本身就是en-us,语言是文化不可知的。顺便说一句,同意巴尔马...时刻.js是要走的路,如果你想启动JS日期。 –

回答

3

这样,看到toLocaleString

虽然这种方法已经存在了相当长的一段时间,它只是在最近,浏览器已经开始实施localesoptions参数,因此尚未得到广泛supported是。

的Javascript

var today = new Date(), 
    options = { 
     month: "long" 
    }, 
    month = today.toLocaleString("en-GB", options).toUpperCase(); 

alert(month); 

jsFiddle

0
var d=new Date(); 
var month=['January' , 'February' ,'March', 'April' , 'May' ,'June', 'July' , 'August' ,'September', 'October' , 'November' ,'December']; 
var n = month[d.getMonth()]; 
alert(n); 
+2

有没有理由不使用数组文字:'month = ['January','February','March'/*...*/];'? (顺便说一下,不是我的倒票;我只是好奇。) –

+1

OP要求一种替代方法。 –

+0

我只是想知道是否有一个更简单的方法来做到这一点,就是这样。谢谢 – Kitty1911

1

JavaScript没有内置的方法来检索月份的名称。您必须创建自己的方法,几乎​​所有方法都将使用某种形式从月份名称的Array中获取条目。

+1

JavaScript Date对象确实有一系列“to ... String()”函数,其中包括月份名称,但字符串返回这些函数的方式取决于实现,并且可能因语言环境而异。 – ErinsMatthew

0

如果你的内容与3月字母缩写这会工作:

d.toDateString().substr(4,3).toUpperCase() 

完全免责声明:我不知道是否会在区域或不会受到影响。

相关问题