我尝试使用html
转换为月份的全名但我无法正确地做到这一点,任何人都知道如何做到这一点我需要21-September-2017
请帮我解决这个问题
谢谢,
function init(){
var d = new Date();
var day = d.getDate();
var x = d.toDateString().substr(4, 3);
var year = d.getFullYear();
document.querySelector("#date").innerHTML = day + '-' + x + '-' + year;
}
window.onload = init;

<div id="date"></div>
&#13;
答案 0 :(得分:2)
您可以使用toLocaleString()
来获得月份。
function init(){
var d = new Date();
var day = d.getDate();
var locale = "en-us";
var month = d.toLocaleString(locale, { month: "long" });
var year = d.getFullYear();
document.querySelector("#date").innerHTML = day + '-' + month + '-' + year;
}
window.onload = init;
<div id="date"></div>
答案 1 :(得分:0)
您无法直接获得完整的月份名称。但你可以像这样做手动实现,
var d = new Date();
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var n1 = month[d.getMonth()];
var day = d.getDate();
var year = d.getFullYear();
var final_date = day+"-"+n1+"-"+year;
<强> FIDDLE 强>
答案 2 :(得分:0)
使用Date.prototype.toLocaleString
它会将您的日期转换为指定语言和国家/地区代码所使用的区域设置格式。仅适用于最新的浏览器。
function init(){
var d = new Date();
var options = {day: 'numeric', month: 'long', year: 'numeric' };
document.querySelector("#date").innerHTML = d.toLocaleString('en-US', options);
}
window.onload = init;
<div id="date"></div>
这将使用客户端的当前时区。要否定这一点,请使用以下选项:
options.timeZone = 'UTC';
options.timeZoneName = 'short';