var dt = new Date();
var mmddyyyy = dt.getMonth() + ":" + dt.getDay() + ":" + dt.getYear();
var time = dt.getHours() + ":" + dt.getMinutes();
$('#elem').html(mmddyyyy + time);
我正在尝试以上内容,以简单地格式化'日期2019年2月14日|20:02 '
,但可悲的是它正在输出:
1:5:11916:4
这里有几个问题。首先,getMonth()
返回日期月份的零索引。要将其转换为本月的简单字符串,您可以定义自己的数组,您可以根据该值访问索引。
您然后使用的是返回一周中当天的getDay()
。我认为您想要getDate()
,而是为您提供一个月的当天。然后,您需要getFullYear()
才能获得四位数年的价值,而不是getYear()
。
最后,随着时间的流逝,您将需要在将引导零放置到最终输出字符串之前的小时和几分钟。
所有话都可以尝试:
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var dt = new Date();
var mmddyyyy = months[dt.getMonth()] + ' ' + dt.getDate() + ' ' + dt.getFullYear();
var time = ('00' + dt.getHours()).slice(-2) + ":" + ('00' + dt.getMinutes()).slice(-2);
$('#elem').html(mmddyyyy + ' | ' + time);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="elem"></div>
如果您需要对此进行任何进一步的修改,我建议您在MDN上阅读日期()对象参考。它涵盖了日期格式的所有方法。