格式化日期javascript

格式化日期javascript,javascript,Javascript,我使用的是var dateString=newdate(parseInt(dateStringUnix))我获得一个字符串作为Sun Jun 10 2012 16:40:16 GMT+0200(ora legale Europa occidentale) 问题是:如何删除字符串部分GMT+0200(ora legale Europa occidentale) 像这样: dateString = dateString.toString().replace(/ GMT.*/,""); 上面的内容只

我使用的是
var dateString=newdate(parseInt(dateStringUnix))我获得一个字符串作为
Sun Jun 10 2012 16:40:16 GMT+0200(ora legale Europa occidentale)

问题是:如何删除字符串部分
GMT+0200(ora legale Europa occidentale)

像这样:

dateString = dateString.toString().replace(/ GMT.*/,"");
上面的内容只是用empyt
字符串替换
GMT
之前的空格,以及
GMT
之后的所有内容,包括
GMT


我使用
.toString()
对象
转换为
字符串
,这样就可以使用
.replace()

使用一个简单但功能强大的库,如矩量.js。如果它是您项目中的一个小功能,则可能不需要它,但它最终会成为日期和相关事物的瑞士军刀

这是我当前最喜欢的,因为它既灵活又模块化。它是(至少)三个简单函数的集合:

/**
 * Returns an array with date / time information
 * Starts with year at index 0 up to index 6 for milliseconds
 * 
 * @param {Date} date   date object. If falsy, will take current time.
 * @returns {[]}
 */
getDateArray = function(date) {
    date = date || new Date();
    return [
        date.getFullYear(),
        exports.pad(date.getMonth()+1, 2),
        exports.pad(date.getDate(), 2),
        exports.pad(date.getHours(), 2),
        exports.pad(date.getMinutes(), 2),
        exports.pad(date.getSeconds(), 2),
        exports.pad(date.getMilliseconds(), 2)
    ];
};
以下是pad功能:

 /**
 * Pad a number with n digits
 *
 * @param {number} number   number to pad
 * @param {number} digits   number of total digits
 * @returns {string}
 */
exports.pad = function pad(number, digits) {
    return new Array(Math.max(digits - String(number).length + 1, 0)).join(0) + number;
};
最后,我可以手工构建日期字符串,也可以使用简单的函数来实现:

/**
 * Returns nicely formatted date-time
 * @example 2015-02-10 16:01:12
 *
 * @param {object} date
 * @returns {string}
 */
exports.niceDate = function(date) {
    var d = exports.getDateArray(date);
    return d[0] + '-' + d[1] + '-' + d[2] + ' ' + d[3] + ':' + d[4] + ':' + d[5];
};

/**
 * Returns a formatted date-time, optimized for machines
 * @example 2015-02-10_16-00-08
 *
 * @param {object} date
 * @returns {string}
 */
exports.roboDate = function(date) {
    var d = exports.getDateArray(date);
    return d[0] + '-' + d[1] + '-' + d[2] + '_' + d[3] + '-' + d[4] + '-' + d[5];
};

实际上,您需要
dateString.toString().replace
,因为即使OP所说的字符串是
日期