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

JavaのGsonライブラリで日付をフォーマットする方法|setDateFormat()の使い方

Gsonは、Googleが開発したJava向けのJSONライブラリです。Gsonを利用すると、JavaオブジェクトからJSON文字列を生成したり、その逆にJSONをJavaオブジェクトへ変換したりすることができます。

Gsonインスタンスを作成するには、まずGsonBuilderのインスタンスを生成し、create()メソッドを呼び出します。そして、Dateオブジェクトを任意の日付形式でシリアライズしたい場合は、setDateFormat()メソッドを使用します。このメソッドに日付パターンを渡すことで、Gsonは指定されたパターンに従ってDateオブジェクトをJSON文字列へ変換します。

構文

public GsonBuilder setDateFormat(java.lang.String pattern)

コード例

以下の例では、従業員情報を持つEmployeeクラスのオブジェクトをJSONに変換しています。setDateFormat("yyyy-MM-dd")を指定することで、入社日(doj)が「年-月-日」の形式で出力されます。

import java.util.Date;
import com.google.gson.*;

public class DateformatTest {
    public static void main(String[] args) {
        Employee emp = new Employee(115, "Surya", new Date(), 25000.00);
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        String result = gson.toJson(emp);
        System.out.println(result);
    }
}

// 従業員クラス
class Employee {
    private int id;
    private String name;
    private Date doj;
    private double salary;

    public Employee(int id, String name, Date doj, double salary) {
        this.id = id;
        this.name = name;
        this.doj = doj;
        this.salary = salary;
    }
}

実行結果

{"id":115,"name":"Surya","doj":"2019-09-26","salary":25000.0}

ポイント解説

  • setDateFormat()に渡すパターンは、java.text.SimpleDateFormatと同じ規則に従います。「yyyy」は西暦4桁、「MM」は月2桁、「dd」は日2桁を表します。
  • setDateFormat()を呼び出さない場合、Dateオブジェクトはロケールに依存したデフォルトの形式でシリアライズされるため、意図しない形式になることがあります。
  • 時刻も含めたい場合は、setDateFormat("yyyy-MM-dd HH:mm:ss")のようにパターンを変更するだけで対応できます。
  1. 【Java】OpenCVライブラリを使って画像のコントラストを変更する方法

    画像の明るさやコントラストの増減は、画像のピクセル値を変換することで実現できます。この変換は、次のような数式で表されます。g(i, j) = α ・ f(i, j) + βここで、各要素の意味は以下のとおりです。(i, j):ピクセルの位置(座標)α(ゲイン)と β(バイアス):変換のパラメータ一般に、ゲインパラメータ α が画像のコントラストを制御し、バイアスパラメータ β が画像の明るさを制御します。convertTo() メソッドについてorg.opencv.core.Mat クラスの convertTo() メソッドを使うと、指定した行列に対して必要な計算を実行し、画像のコントラストや

  2. 【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法

    GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを