お知らせ下さい:
次のような単純な日付を変換するために、正規表現や文字列の置換などを使用しない方法はありますか?
Fri Jun 21 00:00:00 UTC+0100 2013
ISO8601
形式の日付 にyy-mm-dd
?
PS:8601
日時ではなく、日付のみ。
お知らせ下さい:
次のような単純な日付を変換するために、正規表現や文字列の置換などを使用しない方法はありますか?
Fri Jun 21 00:00:00 UTC+0100 2013
ISO8601
形式の日付 にyy-mm-dd
?
PS:8601
日時ではなく、日付のみ。
moment.js を使用http://momentjs.com/
moment(new Date(), "YYYY-MM-DD HH:mm Z");
また:
var date = moment("Fri Jun 21 00:00:00 UTC+0100 2013");
moment("Fri Jun 21 00:00:00 UTC+0100 2013", "YYYY-MM-DD HH:mm Z");
それを解析して、必要な方法で非常に簡単にフォーマットできますhttp://momentjs.com/docs/解析用の ISO-8601 日付とも互換性があります。
はい !
JavaScriptの日付関数.
var d = new Date("Fri Jun 21 00:00:00 UTC+0100 2013")
alert( d.getFullYear() + '-' + d.getUTCMonth() + '-' + d.getUTCDay())
2行のコード:)
正規表現や文字列置換なし? はい、フォーマットが固定されていると仮定すると、必要な特定のビットを使用.slice()
および/または.substr()
抽出して再配置できます(そのような方法が「など」のカテゴリに該当しない限り):
var input = "Fri Jun 21 00:00:00 UTC+0100 2013";
var year = input.slice(-4),
month = ['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'].indexOf(input.substr(4,3))+1,
day = input.substr(8,2);
var output = year + '-' + (month<10?'0':'') + month + '-' + day;
または、先に進んで、正規表現の置き換えで愚かになることもできます。
var output = input.replace(/^[^\s]+\s([^\s]+)\s(\d+)\s.*(\d{4})$/,function(m,p1,p2,p3) {
var month = ['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'].indexOf(p1)+1;
return p3 + '-' + (month<10?'0':'') + month + '-' + (p2.length===1?'0':'') + p2;
});
もちろん、そのようなコードをreformatDate()
メソッドでラップしたいと思うでしょう。
(日付文字列の「単純な」再フォーマットの場合、開始フォーマットが によって認識されるものでない限り、Date
オブジェクトとそのメソッドは特に役に立ちませんDate.parse()
。)
、 などのget
関数を使用しようとしないでください。例:getDate()
getMonth()
var today = new Date();
var d1 = new Date();
alert(d1);
var date = d1.getDate();
var month = d1.getMonth() + 1;
var year = d1.getFullYear();
次に、表示する方法で文字列を構成します...!