1

我确信这个问题之前已经回答过,但如果可能的话,我想在不包括外部 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

4 回答 4

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(' '));

/* 返回值:(字符串)Thu 6 Jun 2013 12:44:36 PM */

于 2013-06-06T16:46:56.803 回答
0

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

var month = ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December"][d.getMonth()];
于 2013-06-06T15:27:10.963 回答
0

您可以使用非标准toLocaleFormat方法

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

这将返回:

"Thu, 06 Jun 2013 15:58:35"
于 2013-06-06T15:59:04.910 回答
0

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

比自己搞数学要容易得多。它也很轻巧。

于 2013-06-07T08:41:14.527 回答