在日期/时间函数中返回日期和月份名称

时间:2013-06-06 15:18:20

标签: javascript date time

我确信此问题之前已经得到了解答,但如果可能的话,我不想包含外部JS库,而且这是我能够找到的所有内容。

我需要按以下格式生成日期/时间:

2013年4月10日星期三15:30:00

到目前为止,这是我的代码,但是它并没有给出我所看到的月份或日期名称:

<script type="text/javascript">
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
document.write(curr_date + "-" + curr_month + "-" + curr_year);
</script>

4 个答案:

答案 0 :(得分:1)

使用getDay和getMonth方法作为您要使用的名称数组的索引 -

var d = new Date();
var dayofweek=['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][d.getDay()],
date = d.getDate(),
month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()],
year = d.getFullYear();

document.write([dayofweek,date,month,year,d.toLocaleTimeString()].join(' '));

/ *返回值:(String) 2013年6月6日星期四12:44:36 * /

答案 1 :(得分:0)

要获得月份,您可以这样写

var month = ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December"][d.getMonth()];

答案 2 :(得分:0)

您可以使用non-standard toLocaleFormat method

var d = new Date();
d.toLocaleFormat('%a, %d %b %Y %H:%M:%S');

这将返回:

"Thu, 06 Jun 2013 15:58:35"

答案 3 :(得分:0)

根据建议,似乎http://momentjs.com是要走的路。我下载了它并且在几秒钟内有相当复杂的日期/时间:)

比自己搞乱数学更容易。它也非常轻巧。