1

我有这个功能

//--format ISO8601 date into sections
function formatDate(date){
    var a = date.split(/[T]/);
    var d = a[0].split("-"); // date 
    var t = a[1].split(":"); // time
    t[2] = t[2].split("-"); // Remove Time zone offset 
    var formattedDate = new Date(d[0],(d[1]-1),d[2],t[0],t[1],t[2][0]);
    //formattedDate.replace(/ *\([^()]*\) */g, "");
    return formattedDate;
}

它返回一个看起来像这样的日期

2013 年 1 月 15 日星期二 11:07:14 GMT-0500(东部标准时间)

我想删除(东部标准时间)部分。我尝试做formattedDate.replace,但它不起作用,因为我相信它不是字符串。

有什么建议么?

编辑:

我想要的输出是

2013 年 1 月 15 日星期二 11:07:14 GMT-0500

4

1 回答 1

2

你返回的是一个Date实例。当您输出它(通过记录它等)时,它被转换为一个字符串。所以你想要的是.toString()然后使用字符串函数:

var str = formattedDate.toString();

// this should be safe since nothing else in the date string contains a opening paren
var index = str.indexOf(" (");

// if the index exists
if(~index) {
  str = str.substr(0, index);
}
于 2013-01-18T14:34:06.573 回答