Java のグレゴリオ暦クラス

Sarwan Soomro 2023年10月12日
  1. Java.util.Calendar クラス
  2. java.util.Locale クラス
  3. Java での GregorianCalendar() クラスと Calendar クラスの違い
  4. Java でのグレゴリオ暦クラスの実装
  5. まとめ
Java のグレゴリオ暦クラス

この記事では、Java のグレゴリオ暦システムの使用方法を説明します。これは、Calendar クラスの特定のサブクラスです。

さらに、世界で最も広く使用されているカレンダーシステムを提供します。また、ジュリアン暦とグレゴリオ暦の標準と相互運用可能なハイブリッド暦です。

Java.util.Calendar クラス

Calendar クラスは、特定の時点と、YEARMONTHDAY OF MONTHHOURWEEK_OF_YEAR などのカレンダーフィールドのコレクションとの間で変換するためのメソッドを含む抽象クラスです。ZONE_OFFSETFIELD_COUNTMILLISECOND その他多数

また、ユーザーは次の週の日付を取得するなど、カレンダーフィールドを変更できます。

ノート
これは、Calendar クラスオブジェクトが作成されるときに構成されます。

構文:

Calendar ModifyCal = Calendar.getInstance();

java.util.Locale クラス

ロケールオブジェクトは、特定の地理的、政治的、または文化的な領域を示します。ロケールに依存するアクションでは、そのタスクを実行するためにロケールが必要です。

また、ロケールを適用して、ユーザーの情報をカスタマイズします。

Java での GregorianCalendar() クラスと Calendar クラスの違い

違いは非常に簡単に理解できます。ほとんどのプログラムで Calendar を使用すると、グレゴリオ暦オブジェクト getInstance() が作成されることは既にご存知のとおりです。

それにもかかわらず、いくつかの外れ値があります。特に、地域に基づいて特定のカレンダーシステムを表示するように設定できる場所/地域。

つまり、CalendarGregorianCalendar() にする必要があるとします。その場合、あなたがする必要があるのは、新しい GregorianCalendar() を書くことだけです。

ただし、デフォルトで選択するリージョンを Java 仮想マシンに決定させることをお勧めします。Calendar.getInstance() という単語を使用し、別のカレンダータイプを選択する可能性に対処する準備ができている必要があります。

Java のいくつかの注目すべきカレンダー関数

まず、これらのメソッドとそのタイプが役立ちます。それら以外にもさまざまな方法があることに注意してください。

学習する java.util.GregorianCalendar クラスまたは calendar クラスファイルを開いた場合に役立ちます。

S.N タイプ 関数構文 概要
1 TimeZone getTimeZone() この関数は、現在のタイムゾーンを取得します。
2 int getWeekYear() グレゴリオ暦によると、それは単にあなたに週の年を返します。
3 void setTimeZone このメソッドを使用して、値を追加してタイムゾーンを設定できます。
4 void setWeekDate GregorianCalendar を日付指定子で指定された日付に変更します。
5 boolean isWeekDateSupported() true を返すだけで、クラスが特定の週の日付をサポートしていることを示します。
6 void setGregorianChange(日付日付) この関数で日付を変更できます。
7 int hashCode() このグレゴリオ暦のハッシュコードオブジェクトが表示されます。

Java における Calendar コンストラクターの重要性

これらのコンストラクターは、デフォルトのクラス構造を拡張し、カスタマイズするロケール、日付、時刻、ゾーン、およびその他の機能パラメーターを変更するのに役立ちます。ほとんどのプログラムでは、デフォルトのソリューションは必要ありません。場合によっては、独自のソリューションを試したいこともあります。

それどころか、フォーマットに関するクライアントの好みは異なる場合があります。したがって、これらの機能を研究することを強くお勧めします。

ノート
また、このチュートリアルの次のパートでは、これらのメソッドのほとんどを実行して、それらの使用法を示します。
S.N 関数名と構文 概要
1 GregorianCalendar() リージョンのデフォルトフォーマットとデフォルトリージョンの現在時刻を作成します。
2 GregorianCalendar(TimeZone ゾーン) 指定されたタイムゾーンの現在の時刻に基づきます。
3 gregorianCalendar(TimeZone ゾーン、Locale aLocale) 指定されたタイムゾーンとリージョンの現在の時刻に基づきます。
4 GregorianCalendar(int year, int month, int dayOfMonth) デフォルトのタイムゾーンとロケールで設定された指定の日付で GregorianCalendar を構築します。
5 gregorianCalendar(int year、int month、int dayOfMonth、int hourOfDay、int minutes) デフォルトのタイムゾーンとリージョンに指定された日時で GregorianCalendar を作成します。

Java でのグレゴリオ暦クラスの実装

getTime() を使用して今日の日付を印刷する簡単なプログラム。

例 1:

package delftstack.calendar.com.util;

import java.util.Date;
import java.util.GregorianCalendar;

// A simple program to print today's date using getTime();
public class Example1 {
  public static void main(String[] args) {
    GregorianCalendar printtodaydate = new GregorianCalendar();
    Date defualt = printtodaydate.getTime();

    System.out.println(defualt);
  }
}

出力:

Mon Mar 28 04:50:00 PDT 2022

例 2:現在の曜日を取得します。

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
// get current day of the weak
public class Example2 {
  public static void main(String[] args) {
    GregorianCalendar DOW = new GregorianCalendar();
    SimpleDateFormat formatter = new SimpleDateFormat("EEEE");
    String dayOfWeek = formatter.format(DOW.getTime());
    System.out.println(dayOfWeek);
  }
}

出力:

Monday

例 3:この日の 100 年後の現在の日付を変更します。

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;

// modify current date
// after 100 years on this day
public class Example3 {
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    java.util.Date currentdate = gregorianCalendar.getTime();

    gregorianCalendar.set(Calendar.YEAR, gregorianCalendar.get(Calendar.YEAR) + 100);

    System.out.println("It is: " + currentdate + " today");
    System.out.println("After 100 year on today: " + gregorianCalendar.getTime());
  }
}

出力:

It is: Mon Mar 28 04:53:53 PDT 2022 today
After 100 year on today: Sat Mar 28 04:53:53 PDT 2122

例 4:YY-MMM-dd が必要なようにカレンダーの日付を再フォーマットします。

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

public class Example4 {
  // reformat calendar date as you want
  // YY-MMM-dd
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    SimpleDateFormat reformat = new SimpleDateFormat("YY/MM/dd");
    String newformat = reformat.format(gregorianCalendar.getTime());
    System.out.println(newformat);
  }
}

出力:

22/03/28

例 5:現在のタイムゾーンは何ですか?

package delftstack.calendar.com.util;

// what is my current time zone
import java.util.GregorianCalendar;

public class Example5 {
  public static void main(String[] args) {
    // Create a new calendar
    GregorianCalendar update = (GregorianCalendar) GregorianCalendar.getInstance();

    System.out.println("What is my current time zone? ");
    System.out.println("Your time zone is: " + update.getTimeZone().getDisplayName());
  }
}

出力:

What is my current time zone?
Your time zone is: Pacific Standard Time

例 6:現在のタイムゾーンを GMT に設定します。

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;
import java.util.TimeZone;

public class Example6 {
  public static void main(String[] args) {
    // Create a new cal class
    GregorianCalendar setnewtimezone = (GregorianCalendar) GregorianCalendar.getInstance();
    // Convert to another time zone
    setnewtimezone.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println("Set my current time zone to GMT");
    setnewtimezone.getTimeZone().getDisplayName();
    System.out.println("Now print it to confirm updated time zone: "
        + setnewtimezone.getTimeZone().getDisplayName());
  }
}

出力:

Set my current time zone to GMT
Now print it to confirm the updated time zone: Greenwich Mean Time

例 7:Javacalendar クラスを使用して日付を表示します。

package delftstack.calendar.com.util;

import java.util.Calendar;

public class ShowDateWithJavaCalendarClass {
  public static void main(String[] args) {
    // Make an obj of Cal Class
    Calendar ModCalendarclass = Calendar.getInstance();

    System.out.println(
        "A simple program to show date using java calendar class: " + ModCalendarclass.getTime());
  } // function
} // class

出力:

A simple program to show date using java calendar class: Mon Mar 28 05:01:31 PDT 2022

例 8:JavaGregorianCalendar クラスを使用して日付を表示します。

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;

public class ShowDateWithJavaGreogorianCalendarClass {
  public static void main(String[] args) {
    // use gregorian calendar class
    GregorianCalendar ModGg = new GregorianCalendar();
    // display date with grogerian

    System.out.print(
        "A simple program to show date using java gregorian calendar class: " + ModGg.getTime());
  }
}

出力:

A simple program to show date using java gregorian calendar class: Mon Mar 28 05:03:25 PDT 2022

Java の GregorianCalendar クラスでコンストラクタを使用する

例 9:JavaGregorianCalendar クラスを使用して日付を表示します。

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;

// creating GregorianCalendarExample1 to define default constructor
public class CustomizeCalUsingDefaultConstructor {
  // main() method start
  public static void main(String args[]) {
    // Make an array that contains months
    String setmonths[] = {
        "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

    // Array for the AM, PM
    String ampm[] = {"AM", "PM"};

    // Create GregorianCalendar and use it as constructor
    GregorianCalendar ModGg = new GregorianCalendar();

    // Print date, time, others
    System.out.println("Current Date: " + ModGg.get(Calendar.DATE));
    System.out.println("Current Month: " + setmonths[ModGg.get(Calendar.MONTH)]);
    System.out.println("Current Year: " + ModGg.get(Calendar.YEAR));
    System.out.println("Current Time: " + ModGg.get(Calendar.HOUR) + ":"
        + ModGg.get(Calendar.MINUTE) + " " + ModGg.get(Calendar.SECOND) + " "
        + ampm[ModGg.get(Calendar.AM_PM)]);
    System.out.println("Region: " + ModGg.getTimeZone().getDisplayName());
    System.out.println("Region: " + Locale.getDefault().getDisplayName());
  }
}

出力:

Current Date: 28
Current Month: Mar
Current Year: 2022
Current Time: 5:7 15 AM
Region: Pacific Standard Time
Region: English (United States)

まとめ

Java のクラス GregorianCalendar またはクラス calendar のデフォルトパラメータは、任意の方法で編集できます。初心者にとって、時間、日付、ゾーン、ロケール、およびその他の調整の実装は比較的簡単です。

Java でグレゴリオ暦を使用する方法を理解していただければ幸いです。これまでに学んだことを調整し、実践し続けてください。

著者: Sarwan Soomro
Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

関連記事 - Java Calendar