格式化jQuery日期对象'Date Feb 14 2019 | 20:02'

时间:2019-02-15 21:03:32

标签: jquery date

var dt = new Date();
var mmddyyyy = dt.getMonth() + ":" +  dt.getDay() + ":" + dt.getYear();
var time = dt.getHours() + ":" + dt.getMinutes();

$('#elem').html(mmddyyyy  + time);

我正在尝试上述操作,以便简单地设置格式” 日期Feb 14 | 20:02 '

可悲的是,它的输出如下:

1:5:11916:4

1 个答案:

答案 0 :(得分:2)

这里有几个问题。首先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>

如果您需要对此进行任何进一步的修改,建议您阅读Date() object reference at MDN。它涵盖了所有可用于日期格式化的方法。