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;
}

次のような日付を返します

Tue Jan 15 2013 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 に答える