web-dev-qa-db-ja.com

jQuery / Javascriptを使用して日付形式を変更するにはどうすればよいですか?

今日は、jQuery/Javascriptを使用して日付を別の形式に変換したいと思います。

$date = '2013-04-01T19:45:11.000Z'
$cool = date('Y-m-d',strtotime($date));

JQuery/Javascriptでそれ(PHP)を行うにはどうすればよいですか?

ありがとう!

4
Deptroco

Javascript Sun, 01 Sep 13 08:06:57 +0000には、このような形式の日付が必要です。したがって、PHPでは、次のようなことを行う必要があります。

date_default_timezone_set('Australia/Perth');
echo date('D, d M y H:i:s')." +0000";

そして、jQueryを試して確認することができます

$.get('dateformat.php', function(data) {
  date = new Date(data);
  console.log(date);  
});

次に、必要に応じて日付をフォーマットできます

日付オブジェクトを独自にフォーマットする例:

$.date = function(dateObj) {
    var d = new Date(dateObj);
    var day = d.getDate();
    var month = d.getMonth() + 1;
    var year = d.getFullYear();

    if (month < 10) {
        month = "0" + month;
    }
    return year + "." + month + "." + day;
};

phpのような日付のフォーマットに役立つjqueryプラグイン

https://github.com/phstc/jquery-dateFormat

このようなフォーマットを適用するために使用できます

$.format.date("2009-12-18 10:54:50.546", "Test: dd/MM/yyyy")

それだけだと思います。

2
Davit

javascript dateオブジェクト を使用します。

<script>
  var date = new Date('2013-04-01T19:45:11.000Z');
  var day = date.getDate();
  var month = date.getMonth();
  var year = date.getFullYear();

  document.write(year + '-' + month + '-' + day);
</script>
4
LeGrande

新しいブラウザを目指している場合は、fujyやLeGrandeが示したようにJavaScriptで直接解析できます。ただし、そうする場合は、渡したUTC日付がブラウザのローカルタイムゾーンに変換されることを理解してください。

より高い柔軟性と完全なブラウザ互換性が必要な場合は、 moment.js のようなライブラリを使用する必要があります。

// Parse it to a moment
var m = moment("2013-04-01T19:45:11.000Z");

// Format it in local time in whatever format you want
var s = m.format("YYYY-MM-DD  HH:mm:ss")

// Or treat it as UTC and then format it
var s = m.utc().format("YYYY-MM-DD  HH:mm:ss")
2
Matt Johnson

JavaScriptは、さまざまな形式の日付を受け入れるのに十分スマートです

var d1 = new Date('2013-04-01T19:45:11.000Z');
1
fujy