我正在尝试使用我的功能获取完整日期。现在我的结果是" 2018年2月14日星期三",但我希望它说" 2018年2月3日星期三"。我希望它能说出一整天和整个月。我找不到一个" get fullDate"方法不幸..
window.onload = function() {
var date = new Date();
document.getElementById("date").innerHTML = date.toDateString();
}

<div id="date"> </div>
&#13;
答案 0 :(得分:6)
您实际上正在寻找toLocaleString
功能,as it can be customized pretty heavily without losing your date object。
window.onload = function() {
var date = new Date();
document.getElementById("date").innerHTML = date.toLocaleString('en-US', {weekday: 'long', month: 'long', year: 'numeric'});
}
&#13;
<div id="date"> </div>
&#13;
答案 1 :(得分:0)
如果您正在寻找原生日期方法:
function dateConvert(){
let date = new Date();
let year = date.getFullYear();
let month= date.getMonth();
let day = date.getDay();
let months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
let days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
return converted_date = `${days[day]} ${months[month]} ${year}`;
}
document.write(dateConvert());
&#13;
答案 2 :(得分:0)
正如您所注意到的,原生Date methods有点受限。有一些滚动自己的方法,如果这就是你需要的那些,那么你应该使用它。如果你需要更强大的东西我会推荐一个库,以避免在尝试正确处理格式化时间的疯狂时遇到很多陷阱。
一个非常受欢迎的图书馆名为momentjs。解决您问题的一个非常简单的方法是使用他们的format
method:
const date = new Date();
document.getElementById("date").innerHTML = moment().format("dddd MMMM YYYY");
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
<div id="date"> </div>
&#13;
希望这有帮助!