0

当我使用以下代码生成日期时

var date = new Date();

我得到以下形式的日期时间

Sat May 11 2013 21:54:23 GMT-0700 (PDT)

谁能告诉我如何在不使用正则表达式/字符串函数的情况下生成下面表格的日期。

Sat May 11 2013 21:54:23
4

2 回答 2

1

试试这个:http: //blog.stevenlevithan.com/archives/date-time-format

它有一组日期格式选项,我相信这些选项会给你你想要的。


忽略上面的 Javascript 库并在本地进行:

var date = new Date();
date = date.toDateString() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();

这对你有用吗?

于 2013-05-12T05:17:35.370 回答
1

除了您看到的一种特定格式之外,Javascript 没有附带日期格式库。您可以通过拼凑您想要的确切部分并将字符串添加在一起来构建自己的,或者您可以获得第三方日期格式库。

如果你想要一个 3rd 方库,Datejs库非常全面。在那个库中,它将是:

Date.today().toString("ddd MMM d yyyy H:mm:ss");

当然,您可以从内置日期对象中获取所有组件值,然后也可以构建自己的字符串。

如果不添加库,您必须编写自己的方式来制作该特定格式:

function formatDate(date) {
    function makeTwoDigits(val) {
        var prefix = val <= 9 ? "0" : "";
        return prefix + val;
    }
    var dayOfWeek = date.getDay();                  // 0-6, 0=Sunday
    var month = date.getMonth();                    // 0-11
    var day = date.getDate();                       // 1-31
    var year = date.getFullYear();                  // 2013
    var hours = makeTwoDigits(date.getHours());     // 0-23
    var mins = makeTwoDigits(date.getMinutes());    // 0-59
    var secs = makeTwoDigits(date.getSeconds());    // 0-59

    var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

    return days[dayOfWeek] + " " + months[month] + " " + day + " " + year + " " +
           hours + ":" + mins + ":" + secs;
}

工作演示:http: //jsfiddle.net/jfriend00/zu7Uz/

于 2013-05-12T05:11:44.740 回答