2016-07-27 4 views
1

次のような日付を生成するにはどうすればよいでしょうか:Jul 27、2016 4:53:18 PM in javascript?Javascript - 2016年7月27日などの日付を生成する最良の方法4:53:18 PM

文字列を連結することを考えましたが、特定の省略形式(7月)で月を取得する方法がわかりません。

ありがとうございます! :)

+1

あなたは組み込みの 'Date'オブジェクトを試みたことがありますか? – gcampbell

+0

私は連結がここに行くための最善の方法だと思います! –

+0

@gcampbell:はい、しかし、getMonth()メソッドは、月をintとして返します(つまり、februaryの場合は1)。しかし、私はJulなどの短縮月を探しています。それを得るには – Rose

答えて

4

var month = []; 
 

 
for(var n = 0; n < 12; n++) { 
 
    month[n] = (new Date(0, n + 1)).toLocaleString("en", {month: "short"}); 
 
} 
 

 
console.log(month);

またはIntl.DateTimeFormat()と:

var month = [], 
 
    intl = new Intl.DateTimeFormat("en", {month: "short"}); 
 

 
for(n = 0; n < 12; n++) { 
 
    month[n] = intl.format(new Date(0, n + 1)); 
 
} 
 

 
console.log(month);

注:new Date(0, n + 1)は、我々はここでしかヶ月を気にするのでOKである、1900年の日付を生成しています。

最後に、これは最終的な出力期待にかなり近いはずである。

var intl = new Intl.DateTimeFormat(
 
    "en-US", 
 
    { 
 
    month : "short", 
 
    day : "numeric", 
 
    year : "numeric", 
 
    hour : "numeric", 
 
    minute : "numeric", 
 
    second : "numeric" 
 
    } 
 
); 
 

 
console.log(intl.format(Date.now()));

+0

@ Arnauld:ありがとう!私はあなたがそれを行うことができるか分からなかった:)それは素晴らしいです。 – Rose

0

次のコードスニペットを使用することができます短縮された月を取得するには:Date.prototype.toLocaleString()をサポートしているブラウザでは

var monthShortNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" 
]; 

function monthShortFormat(d){ 
    var t = new Date(d); 
    return t.getDate()+' '+monthShortNames[t.getMonth()]+', '+t.getFullYear(); 
} 
関連する問題