MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBで日付形式を変更する方法

```html

MongoDBシェルでは、文字列として扱われている日付の形式を自由に変換できます。本記事では、split()メソッドカスタム変数を使って、日付フォーマットを変換する手順を具体例とともに解説します。

変換前の日付データ

今回は、次のような「日-月-年(DD-MM-YYYY)」形式の日付を例にします。

01-10-2019

日付形式を変換する手順

この日付を「年-月-日(YYYY-MM-DD)」形式に変更します。まず、日付文字列をカスタム変数に格納し、split()メソッドで分割してから、文字列として組み立て直します。

区切り文字には正規表現 /-|\// を使用しているため、ハイフン(-)とスラッシュ(/)のどちらで区切られた日付にも対応できるのがポイントです。

実装クエリ

> var inputDate="01-10-2019";
> var formatDate= inputDate.split(/-|\//);
> var outputString= formatDate[2]+'-'+formatDate[0]+'-'+formatDate[1];

処理の流れ

  • inputDate:元の日付文字列を変数に格納します。
  • split(/-|\//):区切り文字で分割し、配列 ["01", "10", "2019"] を生成します。
  • outputString:配列の要素を「年-月-日」の順に並べ替えて、新しい文字列を作成します。

結果の確認

変換した値を表示するには、print()を使用します。

> print(outputString);

実行すると、次の出力が得られます。

2019-01-10

Date型の場合の注意点

なお、日付がDate型で保存されている場合は、集計フレームワークの $dateToString 演算子を使うとより簡単に整形できます。

db.collection.aggregate([
  {
    $project: {
      formattedDate: {
        $dateToString: { format: "%Y-%m-%d", date: "$dateField" }
      }
    }
  }
])

このように、文字列の場合は split() と配列操作、Date型の場合は $dateToString を使い分けることで、MongoDB上で柔軟に日付形式を変換できます。

  1. MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法

    MongoDBでDate(ISODate)の各コンポーネント(年・月・日・時・分・秒など)を取得するには、まずコレクションに日付を含むドキュメントを作成します。ここでは、実際のコード例を通して手順をわかりやすく解説します。1. 日付を含むドキュメントの作成まず、insert()メソッドを使って、現在日時を持つドキュメントをコレクションに挿入します。> db.componentOfDateDemo.insert({"ShippingDate":new Date()}); WriteResult({ "nInserted" : 1 })2. find(

  2. PHPで日付形式を変更する方法をわかりやすく解説

    PHPで日付の形式を変更するには、date() 関数と strtotime() 関数、または DateTime クラスを活用します。ここでは、具体的なコード例を使って日付形式の変換方法を紹介します。 例1:strtotime()とdate()関数を使った方法 まずは、strtotime() 関数で文字列の日付をタイムスタンプに変換し、date() 関数で任意の形式に整形する基本的な方法です。さらに、「+20 days」のように指定することで、日付の加算も同時に行えます。 <?php     $date = "2019-11-11 05:2